Help with a subquery

Hi all,
I'm having nightmares with a query I just cant think. I hope some one can help me with this.
There are 4 tables
customers ->Cust_id (PK), cust_name, cust_lname, ...
Invoice -> Invoice_number (PK), cust_id (FK), invoice_date
Invoice_line -> Invoice_number(FK), (FK)Prod_code, line_price, line_units
Product -> Prod_code,.....etc
And I need to make a query that show me the customer name that spent more money.
The money is obtained as (line_price * line_units), but there are several Invoice_line rows in each Invoice
So Ive done this so far but I don't know how to extract the max value and linked it to the customer name so I can just show the customer name (cust_fname) and last name (cust_lname).
select i.cust_id, sum(line_price*line_units)
from Invoice_Line il join invoice i
on il.invoice_number=i.Invoice_Number
group by i.Cust_Id;

Hi,
Welcome to the forum!
So you can get the total amount for every customer, but now you need to narrow that down to just the top-spending customer.
One way is to number each customer according to how much they spent, then show only #1:
WITH     got_cust_amt     AS
     select        i.cust_id
     ,       sum (line_price * line_units)     AS cust_amt
     ,       RANK () OVER (ORDER BY  sum (line_price * line_units))
                              AS r_num
     from       Invoice_Line     il
     join       invoice      i  on      il.invoice_number  = i.Invoice_Number
     group by  i.Cust_Id
SELECT     c.cust_id
,     c.cust_name
,     c.cust_lname
,     a.cust_amt
FROM     customers     c
JOIN     got_gust_amt     a  ON     c.cust_id     = a.cust_id
WHERE     a.r_num     = 1
;I like the method above, because it can easily be modified in case you need the top 5 customers, or the highest spender each year. In the event of a tie, it shows all the customers who have a claim to being the highest spender.
Here's another variation on the same idea:
WITH     got_cust_amt     AS
     select        i.cust_id
     ,       sum (line_price * line_units)     AS cust_amt
     from       Invoice_Line     il
     join       invoice      i  on      il.invoice_number  = i.Invoice_Number
     group by  i.Cust_Id
SELECT     c.cust_id
,     c.cust_name
,     c.cust_lname
,     a.cust_amt
FROM     customers     c
JOIN     got_cust_amt     a  ON     c.cust_id     = a.cust_id
WHERE     c.cust_amt = (
               SELECT  MAX (cust_amt)
               FROM     got_cust_amt
;This 2nd way can't be easily modified to show the top 5.
Notice that the sub-query, got_cust_amt, is just what you wrote already (plus another column, in the first version).
Edited by: Frank Kulash on Nov 10, 2010 10:54 AM
Corrected mis-spelling.

Similar Messages

  • Help with SUM subquery

    I have an existing query that I wish to have 3 additional calculated columns added.
    The existing query is:
    SELECT t.swid as ID,
    t.name,
    t.swcatid,
    t2.catdesc as Category,
    t.liccnt,
    (select count(swid) as swcount from swinv t2 where t2.swid=t.swid) Reccnt,
    t.liccnt-(select count(swid) as swcount from swinv t2 where t2.swid=t.swid) as Avail,
    t.last_update_date as updated
    FROM SOFTWARE t
    LEFT OUTER JOIN swcat t2 ON T.swcatid=t2.swcatid
    order by t.name;
    For the first calculated column, I need the sum of the liccnt where the SWIDs have the same GID in the following table:
    TableName = colic
    Columns: CID (primary key)
    GID
    SWID
    I created a query that sums the liccnt in the Software table grouped by GID -- let's call this result (GroupLic):
    SELECT t3.gid, nvl(Sum(t5.LicCnt),0) AS SumOfLicCnt
    FROM CoLic t3 left outer JOIN Software t5 ON t3.SWID = t5.SWID
    GROUP BY t3.gid;
    The 2nd new calculated column should be the total of COUNTS of SWID in the SWInv where the SWID=the SWIDs in the CoLic table -- let's call this result (InstalledGroupLic):
    TableName=SWInv
    Columns: SID (primary key)
    PCID
    SWID
    Last_Update_Date
    I created a query that displays the counts by GID -- let's call this result (InstalledGroupLic)
    SELECT t4.gid, (select count(t6.SID) AS CountofSWInv from swinv t6 where t6.swid=t4.swid) CollInstalled
    FROM CoLic t4;
    The 3rd Calculated column should be the difference between the SumOfLicCnt in GroupLic and CountofSWInv in InstalledGroupLic (SumOfLicCnt -CountofSWInv).
    The columns should display a 0 if there is no record in the CoLic table with the same SWID in the Software table.
    Any assistance with this would be greatly appreciated.
    Thank you in advance.
    Lillianne

    REM INSERTING into COLIC
    Insert into COLIC (CID,GID,SWID) values (1,1,12);
    Insert into COLIC (CID,GID,SWID) values (2,1,13);
    Insert into COLIC (CID,GID,SWID) values (3,2,20);
    Insert into COLIC (CID,GID,SWID) values (4,2,21);
    Insert into COLIC (CID,GID,SWID) values (5,3,40);
    Insert into COLIC (CID,GID,SWID) values (6,3,41);
    REM INSERTING into SWINV
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (46,2,12,to_timestamp('04-JAN-10 12:05:47 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (47,41,12,to_timestamp('04-JAN-10 12:06:34 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (48,43,12,to_timestamp('04-JAN-10 12:06:46 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (49,49,12,to_timestamp('04-JAN-10 12:07:40 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (50,11,12,to_timestamp('04-JAN-10 12:07:50 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (55,56,12,to_timestamp('04-JAN-10 12:11:00 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (137,80,13,to_timestamp('04-JAN-10 01:18:00 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (138,82,13,to_timestamp('04-JAN-10 01:18:28 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (139,83,13,to_timestamp('04-JAN-10 01:18:32 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (140,85,13,to_timestamp('04-JAN-10 01:18:46 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (842,276,20,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (845,275,20,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (848,272,20,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (1229,197,20,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (1232,207,20,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (1235,214,20,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (7,101,40,to_timestamp('31-DEC-09 03:24:43 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (336,47,41,to_timestamp('05-JAN-10 10:29:27 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (545,259,41,to_timestamp('05-JAN-10 04:33:30 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (372,35,78,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (373,35,152,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (374,36,19,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (855,270,78,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (856,270,152,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (857,269,19,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (859,269,152,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (862,278,78,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (865,273,19,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (885,254,78,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (886,254,152,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (887,250,19,to_timestamp('05-JAN-10 10:48:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (771,265,221,to_timestamp('08-JAN-10 05:17:17 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (772,250,221,to_timestamp('08-JAN-10 05:17:30 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (787,261,225,to_timestamp('08-JAN-10 05:22:22 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (788,262,225,to_timestamp('08-JAN-10 05:22:31 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (789,145,226,to_timestamp('08-JAN-10 05:22:57 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (790,230,226,to_timestamp('08-JAN-10 05:23:08 PM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (791,268,235,to_timestamp('11-JAN-10 09:32:08 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (792,210,240,to_timestamp('11-JAN-10 09:33:16 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (793,163,249,to_timestamp('11-JAN-10 09:34:30 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWINV (SID,PCID,SWID,LAST_UPDATE_DATE) values (794,175,251,to_timestamp('11-JAN-10 09:35:20 AM','DD-MON-RR HH.MI.SSXFF AM'));
    REM INSERTING into SOFTWARE
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (2,'Upgrade Advantage',4,to_timestamp('30-DEC-09 05:59:22 PM','DD-MON-RR HH.MI.SSXFF AM'),80);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (3,'Xp Pro Softwars Assurance Upgrade',4,to_timestamp('30-DEC-09 05:59:34 PM','DD-MON-RR HH.MI.SSXFF AM'),152);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (4,'Windows 95',1,to_timestamp('30-DEC-09 05:59:52 PM','DD-MON-RR HH.MI.SSXFF AM'),78);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (5,'Windows 98',1,to_timestamp('30-DEC-09 06:00:06 PM','DD-MON-RR HH.MI.SSXFF AM'),22);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (6,'Windows Me',1,to_timestamp('30-DEC-09 06:00:17 PM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (7,'Windows 2003 Server',1,to_timestamp('30-DEC-09 06:00:27 PM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (8,'Windows 2003 Server R2',1,to_timestamp('30-DEC-09 06:00:35 PM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (9,'Windows 2003 Server R2 W/Software Assurance',1,to_timestamp('30-DEC-09 06:00:44 PM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (10,'Windows 2000 Oem (Tracking Only)',1,to_timestamp('30-DEC-09 06:00:53 PM','DD-MON-RR HH.MI.SSXFF AM'),8);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (11,'Windows Nt 4.0 Workstation',1,to_timestamp('30-DEC-09 06:01:06 PM','DD-MON-RR HH.MI.SSXFF AM'),64);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (12,'Windows 2000 Professional',1,to_timestamp('30-DEC-09 06:01:15 PM','DD-MON-RR HH.MI.SSXFF AM'),83);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (13,'Windows Xp Professional',1,to_timestamp('30-DEC-09 06:01:24 PM','DD-MON-RR HH.MI.SSXFF AM'),245);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (14,'Vista Ultimate',1,to_timestamp('30-DEC-09 06:01:33 PM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (15,'Vista Business',1,to_timestamp('30-DEC-09 06:01:42 PM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (16,'Windows Nt 4.0 Server',1,to_timestamp('31-DEC-09 10:47:06 AM','DD-MON-RR HH.MI.SSXFF AM'),9);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (17,'Software Assure Nt4 Server To W2k Server',1,to_timestamp('31-DEC-09 10:47:43 AM','DD-MON-RR HH.MI.SSXFF AM'),9);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (18,'Cal For Windows Nt 4.0 Server',1,to_timestamp('31-DEC-09 10:47:56 AM','DD-MON-RR HH.MI.SSXFF AM'),50);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (19,'Cal For Windows 2000 Server',1,to_timestamp('31-DEC-09 10:48:03 AM','DD-MON-RR HH.MI.SSXFF AM'),245);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (20,'Cal For Windows 2003 Server',1,to_timestamp('31-DEC-09 10:48:11 AM','DD-MON-RR HH.MI.SSXFF AM'),345);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (21,'Cal For Windows 2008 Server',1,to_timestamp('31-DEC-09 10:48:21 AM','DD-MON-RR HH.MI.SSXFF AM'),30);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (22,'Cal For Microsoft Sql Server 2000',1,to_timestamp('31-DEC-09 10:48:28 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (23,'Windows 2000 Server',1,to_timestamp('31-DEC-09 10:48:36 AM','DD-MON-RR HH.MI.SSXFF AM'),4);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (24,'Microsoft Sql Server 2000',1,to_timestamp('31-DEC-09 10:48:52 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (25,'Fedora Core3',1,to_timestamp('31-DEC-09 10:48:58 AM','DD-MON-RR HH.MI.SSXFF AM'),4);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (26,'Redhat',1,to_timestamp('31-DEC-09 10:49:05 AM','DD-MON-RR HH.MI.SSXFF AM'),9);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (27,'Redhat Enterprise Server',1,to_timestamp('31-DEC-09 10:49:12 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (28,'Mac Os X 10.1.3',1,to_timestamp('31-DEC-09 10:49:19 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (29,'Mac Os X 10.1.4',1,to_timestamp('31-DEC-09 10:49:26 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (30,'Act! 3.0',4,to_timestamp('31-DEC-09 05:02:17 PM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (31,'Activeperl 521',4,to_timestamp('31-DEC-09 10:49:51 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (32,'Adaptec Easy Cd Creator 4',4,to_timestamp('31-DEC-09 10:49:56 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (33,'Adobe Acrobat 4.0 Full Version',2,to_timestamp('31-DEC-09 05:03:01 PM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (34,'Adobe Acrobat 5.0 Upgrade',2,to_timestamp('31-DEC-09 10:51:41 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (35,'Adobe Acrobat 6.0 Professional Upgrade',2,to_timestamp('31-DEC-09 10:51:47 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (36,'Adobe Acrobat 6.0 Professional',2,to_timestamp('31-DEC-09 10:51:52 AM','DD-MON-RR HH.MI.SSXFF AM'),4);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (37,'Adobe Acrobat 7.0 Professional Upgrade',2,to_timestamp('31-DEC-09 10:51:57 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (38,'Adobe Acrobat 7.0 Professional Full Version',2,to_timestamp('31-DEC-09 10:52:02 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (39,'Adobe Acrobat 6.0 Upgrade',2,to_timestamp('31-DEC-09 10:52:07 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (40,'Adobe Acrobat 5.0 Standard Full Version',2,to_timestamp('31-DEC-09 10:52:12 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (41,'Adobe Acrobat 6.0 Standard Full Version',2,to_timestamp('31-DEC-09 10:52:18 AM','DD-MON-RR HH.MI.SSXFF AM'),7);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (42,'Adobe Acrobat 7.0 Standard Full Version',2,to_timestamp('31-DEC-09 10:52:23 AM','DD-MON-RR HH.MI.SSXFF AM'),4);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (43,'Adobe Acrobat 8.0 Standard Full Version',2,to_timestamp('31-DEC-09 10:52:27 AM','DD-MON-RR HH.MI.SSXFF AM'),9);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (44,'Adobe After Effects 5.5',2,to_timestamp('31-DEC-09 10:52:32 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (45,'Adobe Creative Suite 3 Web Upgrade (Dreamweaver 8 Mike B)',2,to_timestamp('31-DEC-09 10:52:37 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (46,'Adobe Framemaker 5.5',2,to_timestamp('31-DEC-09 10:52:43 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (47,'Adobe Framemaker V6.0',2,to_timestamp('31-DEC-09 10:52:53 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (48,'Adobe Framemaker 7.0 Upgrade',2,to_timestamp('31-DEC-09 10:52:59 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (49,'Adobe Framemaker 7.0 Full',2,to_timestamp('31-DEC-09 10:53:04 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (50,'Adobe Framemaker 7.1 Full',2,to_timestamp('31-DEC-09 10:53:09 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (51,'Adobe Framemaker 7.2 Upgrade',2,to_timestamp('31-DEC-09 10:53:14 AM','DD-MON-RR HH.MI.SSXFF AM'),6);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (52,'Adobe Framemaker 7.2 Full',2,to_timestamp('31-DEC-09 10:53:20 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (53,'Framemaker Archive Plugin',2,to_timestamp('31-DEC-09 10:53:27 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (54,'Framemaker Findchange Plugin',2,to_timestamp('31-DEC-09 10:53:31 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (55,'Framemaker Cleanimport Plugin',2,to_timestamp('31-DEC-09 10:53:36 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (56,'Framemaker Pagelabeler Plugin',2,to_timestamp('31-DEC-09 10:53:40 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (57,'Framemaker Impgraph Plugin',2,to_timestamp('31-DEC-09 10:53:44 AM','DD-MON-RR HH.MI.SSXFF AM'),6);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (58,'Adobe Illustrator 10',2,to_timestamp('31-DEC-09 10:53:50 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (59,'Adobe Indesign',2,to_timestamp('31-DEC-09 10:53:55 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (60,'Adobe Pagemaker 6.5',2,to_timestamp('31-DEC-09 10:54:12 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (61,'Adobe Photodeluxe Business Edition 1.0',2,to_timestamp('31-DEC-09 10:54:17 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (99,'Corel Essentials',4,to_timestamp('31-DEC-09 10:59:46 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (100,'Cupl For Windows 4.9A',4,to_timestamp('31-DEC-09 10:59:54 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (101,'Crystal Reports 8',4,to_timestamp('31-DEC-09 10:59:58 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (102,'Crystal Reports 9',4,to_timestamp('31-DEC-09 11:00:03 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (103,'Crystal Reports 11',4,to_timestamp('31-DEC-09 11:00:08 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (104,'Data Desk 6.0',4,to_timestamp('31-DEC-09 11:00:14 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (105,'Datapaq Reflow Tracker With Insight Software',4,to_timestamp('31-DEC-09 11:00:23 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (106,'Descriptions Now',4,to_timestamp('31-DEC-09 11:00:28 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (107,'Designcad 97',4,to_timestamp('31-DEC-09 11:00:36 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (108,'Designcad Express',4,to_timestamp('31-DEC-09 11:00:41 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (109,'Designcad 3D Max 14',4,to_timestamp('31-DEC-09 11:00:46 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (110,'Designcad Express 15',4,to_timestamp('31-DEC-09 11:00:52 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (111,'Desktop To Go',4,to_timestamp('31-DEC-09 11:00:58 AM','DD-MON-RR HH.MI.SSXFF AM'),22);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (112,'Dream Weaver Mx',4,to_timestamp('31-DEC-09 11:01:04 AM','DD-MON-RR HH.MI.SSXFF AM'),4);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (113,'Dream Weaver Mx 8 Upgrade',4,to_timestamp('31-DEC-09 11:01:12 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (114,'Dream Weaver Mx 8 ',4,to_timestamp('31-DEC-09 11:01:17 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (115,'Dream Weaver 9 Upgrade (Cs3) ',4,to_timestamp('31-DEC-09 11:01:23 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (116,'Dream Weaver Studio Mx',4,to_timestamp('31-DEC-09 11:01:30 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (117,'Dream Weaver Cs3',4,to_timestamp('31-DEC-09 11:01:36 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (118,'Dream Weaver Cs4',4,to_timestamp('31-DEC-09 11:01:40 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (119,'Dream Weaver Mx For Mac',4,to_timestamp('31-DEC-09 11:01:45 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (120,'Dxf Reader ',4,to_timestamp('31-DEC-09 11:01:51 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (121,'Editplus 2',4,to_timestamp('31-DEC-09 11:01:56 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (122,'Ericom Powerterm 5.4',4,to_timestamp('31-DEC-09 11:02:01 AM','DD-MON-RR HH.MI.SSXFF AM'),61);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (123,'Final Cut Studio 5.1 (Mac) ',4,to_timestamp('31-DEC-09 11:02:07 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (124,'Final Cut Studio 6.0 Upgrade (Mac)',4,to_timestamp('31-DEC-09 11:02:12 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (125,'Filemaker Pro 5.5',4,to_timestamp('31-DEC-09 11:02:17 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (126,'Forticlient',4,to_timestamp('31-DEC-09 11:02:22 AM','DD-MON-RR HH.MI.SSXFF AM'),6);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (127,'Gagetrak Se',4,to_timestamp('31-DEC-09 11:02:28 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (128,'Gibbscam V7.3.5',4,to_timestamp('31-DEC-09 11:02:34 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (129,'Gibbscam 2006 V8.0.19',4,to_timestamp('31-DEC-09 11:02:44 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (130,'Hypersnap-Dx',4,to_timestamp('31-DEC-09 11:02:50 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (131,'Id Automation Code 128 Font',4,to_timestamp('31-DEC-09 11:02:55 AM','DD-MON-RR HH.MI.SSXFF AM'),6);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (132,'Infralution License System',4,to_timestamp('31-DEC-09 11:03:01 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (133,'Installshield Express 2.11',4,to_timestamp('31-DEC-09 11:03:06 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (134,'Intergraph Smartsketch Le',4,to_timestamp('31-DEC-09 11:03:10 AM','DD-MON-RR HH.MI.SSXFF AM'),10);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (135,'Internet Launcher',4,to_timestamp('31-DEC-09 11:03:15 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (136,'Ipswitch Ws_Ftp Pro',4,to_timestamp('31-DEC-09 11:03:19 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (137,'Irfan Viewer',4,to_timestamp('31-DEC-09 11:03:24 AM','DD-MON-RR HH.MI.SSXFF AM'),13);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (138,'Ise Project Importer',4,to_timestamp('31-DEC-09 11:03:30 AM','DD-MON-RR HH.MI.SSXFF AM'),0);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (139,'Isopro',4,to_timestamp('31-DEC-09 11:03:34 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (140,'Jandel Scientific Sigmasuite',4,to_timestamp('31-DEC-09 11:03:39 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (141,'Lean Manufacturing',4,to_timestamp('31-DEC-09 11:03:44 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (142,'Lemmy',4,to_timestamp('31-DEC-09 11:03:50 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (143,'Lingobit Localizer 4.5',4,to_timestamp('31-DEC-09 11:03:55 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (144,'Lview Pro 2.0',4,to_timestamp('31-DEC-09 11:04:01 AM','DD-MON-RR HH.MI.SSXFF AM'),6);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (145,'Mathcad 2000',4,to_timestamp('31-DEC-09 11:04:05 AM','DD-MON-RR HH.MI.SSXFF AM'),9);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (146,'Max+Plus Ii 10.0',4,to_timestamp('31-DEC-09 11:04:10 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (147,'Matlab',4,to_timestamp('31-DEC-09 11:04:15 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (148,'Mcafee Virusscan 7.0 Home Use',4,to_timestamp('31-DEC-09 11:04:19 AM','DD-MON-RR HH.MI.SSXFF AM'),99);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (149,'Mediastudio Pro 7',4,to_timestamp('31-DEC-09 11:04:24 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (150,'Microsoft Office 97 Small Business Edition',3,to_timestamp('31-DEC-09 11:04:54 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (151,'Microsoft Office 97 Standard',3,to_timestamp('31-DEC-09 11:05:00 AM','DD-MON-RR HH.MI.SSXFF AM'),6);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (152,'Microsoft Office 2000 Standard',3,to_timestamp('31-DEC-09 11:05:44 AM','DD-MON-RR HH.MI.SSXFF AM'),30);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (153,'Microsoft Office Xp Standard',3,to_timestamp('31-DEC-09 11:05:50 AM','DD-MON-RR HH.MI.SSXFF AM'),127);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (154,'Microsoft Office 2003 Standard',3,to_timestamp('31-DEC-09 11:05:54 AM','DD-MON-RR HH.MI.SSXFF AM'),11);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (155,'Microsoft Office 2007 Standard',3,to_timestamp('31-DEC-09 11:06:06 AM','DD-MON-RR HH.MI.SSXFF AM'),56);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (156,'Microsoft Office 2000 Sbe (No Powerpoint)',3,to_timestamp('31-DEC-09 11:06:11 AM','DD-MON-RR HH.MI.SSXFF AM'),26);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (157,'Microsoft Access 2000 (Stand Alone)',3,to_timestamp('31-DEC-09 11:06:16 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (158,'Microsoft Access 2003 (Stand Alone)',3,to_timestamp('31-DEC-09 11:06:21 AM','DD-MON-RR HH.MI.SSXFF AM'),26);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (159,'Microsoft Office Professional & Bookshelf',3,to_timestamp('31-DEC-09 11:06:25 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (243,'Test Complete',4,to_timestamp('31-DEC-09 11:16:22 AM','DD-MON-RR HH.MI.SSXFF AM'),2);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (244,'True Dbgrid Pro 8.0',4,to_timestamp('31-DEC-09 11:16:26 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (245,'T Value 4.0',4,to_timestamp('31-DEC-09 11:16:32 AM','DD-MON-RR HH.MI.SSXFF AM'),3);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (246,'Ulead Gif Animator',4,to_timestamp('31-DEC-09 11:16:38 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (247,'Virtual Pc For Mac & 1 Xp Pro License',4,to_timestamp('31-DEC-09 11:16:44 AM','DD-MON-RR HH.MI.SSXFF AM'),4);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (248,'Visio 4.0 For Windows',4,to_timestamp('31-DEC-09 11:16:54 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (249,'Visual Dialogscript',4,to_timestamp('31-DEC-09 11:17:01 AM','DD-MON-RR HH.MI.SSXFF AM'),5);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (250,'Visual Dialogscriptpro',4,to_timestamp('31-DEC-09 11:17:07 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (251,'Winwedge 3.0C',4,to_timestamp('31-DEC-09 11:17:14 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    Insert into SOFTWARE (SWID,NAME,SWCATID,LAST_UPDATE_DATE,LICCNT) values (252,'Xtools',4,to_timestamp('31-DEC-09 11:17:22 AM','DD-MON-RR HH.MI.SSXFF AM'),1);
    REM INSERTING into SWCAT
    Insert into SWCAT (SWCATID,CATDESC,LAST_UPDATE_DATE) values (1,'OPERATING SYSTEM',to_timestamp('30-DEC-09 02:51:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWCAT (SWCATID,CATDESC,LAST_UPDATE_DATE) values (2,'ADOBE SOFTWARE',to_timestamp('30-DEC-09 02:57:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWCAT (SWCATID,CATDESC,LAST_UPDATE_DATE) values (3,'MICROSOFT SOFTWARE',to_timestamp('30-DEC-09 02:57:00 AM','DD-MON-RR HH.MI.SSXFF AM'));
    Insert into SWCAT (SWCATID,CATDESC,LAST_UPDATE_DATE) values (4,'NONE',to_timestamp('30-DEC-09 02:57:00 AM','DD-MON-RR HH.MI.SSXFF AM'));

  • Help with sql subquery/grouping

    Hi... having trouble getting this query to work. Here's the table and data:
    create table mytable (
    rec_num number,
    status_num number,
    status_date date
    insert into mytable values (1,1,'01-AUG-2006');
    insert into mytable values (1,2,'14-AUG-2006');
    insert into mytable values (1,8,'01-SEP-2006');
    insert into mytable values (1,3,'15-SEP-2006');
    insert into mytable values (1,2,'03-SEP-2006');
    insert into mytable values (2,2,'17-AUG-2006');
    insert into mytable values (3,2,'02-SEP-2006');
    insert into mytable values (3,4,'07-SEP-2006');
    insert into mytable values (4,1,'18-SEP-2006');
    insert into mytable values (4,4,'27-SEP-2006');
    insert into mytable values (4,2,'18-SEP-2006');
    insert into mytable values (5,1,'01-OCT-2006');
    insert into mytable values (5,2,'03-OCT-2006');
    insert into mytable values (5,3,'05-OCT-2006');
    insert into mytable values (6,1,'01-OCT-2006');
    insert into mytable values (7,2,'14-OCT-2006');
    insert into mytable values (7,8,'15-OCT-2006');
    I'm trying to select the rec_num, status_num, and status_date for the max date for each individual rec_num... it basically tells me the current status of each individual record by getting the status for the most recent date... like the following:
    rec_num, status_num, date
    1, 3, 15-SEP-2006
    2, 2, 17-AUG-2006
    3, 4, 07-SEP-2006
    etc
    This query works... it gets me the max date for each record... but it doesn't give me the status_num:
    select rec_num, max(status_date)
    from mytable
    group by rec_num
    Adding status_num messes it up... I know I need some kindof sub-query, but haven't been able to get one to work.
    I'd also like a query to get a count on how many records currently exist in each status.
    Can someone help me out? Oracle 8i. Thanks!

    SQL> select * from my_table;
       REC_NUM STATUS_NUM STATUS_DA
             1          1 01-AUG-06
             1          2 14-AUG-06
             1          8 01-SEP-06
             1          3 15-SEP-06
             1          2 03-SEP-06
             2          2 17-AUG-06
             3          2 02-SEP-06
             3          4 07-SEP-06
             4          1 18-SEP-06
             4          4 27-SEP-06
             4          2 18-SEP-06
             5          1 01-OCT-06
             5          2 03-OCT-06
             5          3 05-OCT-06
             6          1 01-OCT-06
             7          2 14-OCT-06
             7          8 15-OCT-06
    SQL> select mt.rec_num,
      2         mt.status_num,
      3         mt.status_date
      4    from (select row_number() over (partition by rec_num order by status_date desc) rn,
      5                 rec_num,
      6                 status_num,
      7                 status_date
      8            from my_table) mt
      9   where mt.rn = 1;
       REC_NUM STATUS_NUM STATUS_DA
             1          3 15-SEP-06
             2          2 17-AUG-06
             3          4 07-SEP-06
             4          4 27-SEP-06
             5          3 05-OCT-06
             6          1 01-OCT-06
             7          8 15-OCT-06
    7 rows selected.
    SQL>

  • Subquery results need help with output

    Requirements:
    There is request to dump every day’s data from one table into text file.
    Tables:INSPECTION_RESULTS
    NJAS
    Primary Key: RES_SYS_NO
    Parent table: INSPECTION_RESULTS
    Child table: NJAS
    Purpose:
    1. obtain output results for the MIN and MAX RES_SYS_NO from INSPECTION_RESULTS table for yesterday’s date.
    2. Create comma delimited file for following columns using above table data output.
    Script thus far:
    SELECT NJA_RES_SYS_NO||','||NJA_TEST_REC_NO||','||NJA_LIC_ST_ID||','||NJA_ETS_ID||','||NJA_SW_VER||','||NJA_TECH_ID||','||NJA_VIN||','||NJA_LIC_NO||','
    ||NJA_LIC_JUR||','||NJA_LIC_SRC||','||NJA_MODEL_YR||','||NJA_MAKE||','||NJA_MODEL||','||NJA_VHCL_TYPE||','||NJA_BODY_STYLE||','||NJA_CERT_CLASS||','||
    NJA_GVWR||','||NJA_ASM_ETW||','||NJA_ETW_SRC||','||NJA_NO_OF_CYL||','||NJA_ENG_SIZE||','||NJA_TRANS_TYPE||','||NJA_DUAL_EXH||','||NJA_FUEL_CD||','
    || NJA_VID_SYS_NO||','|| NJA_VRT_REC_NO||','|| NJA_ARMSTDS_REC_NO||','|| NJA_RSN_F_N_TESTABLE||','|| NJA_DYNO_TESTABLE||','||
    NJA_CURR_ODO_RDNG||','|| NJA_PREV_ODO_RDNG||','|| NJA_PREV_TEST_DT||','|| NJA_TEST_TYPE||','||
    NJA_TEST_START_DT||','|| NJA_TEST_END_TIME||','|| NJA_EMISS_TEST_TYPE||','|| NJA_TEST_SEQ_NO||','
    ||NJA_LOW_MILE_EXEMP||','||NJA_TIRE_DRY||','|| NJA_REL_HUMID||','|| NJA_AMB_TEMP||','||NJA_BAR_PRESS||','|| NJA_HCF||','||
    NJA_GAS_CAP_ADAP_AVL||','|| NJA_GAS_CAP_REPL||','|| NJA_OVERALL_GAS_CAP_RES
    FROM NJAS
    WHERE NJA_RES_SYS_NO IN (SELECT MIN(NJA_RES_SYS_NO) FROM INSPECTION_RESULTS WHERE NJA_RES_SYS_NO IN
    (SELECT MAX(NJA_RES_SYS_NO) FROM INSPECTION_RESULTS, (SELECT SYSDATE-1 FROM DUAL))
    It works but not sure if I am getting accurate results. Can anyone help me fine tune this subquery script? Thanks!
    Scott

    Duplicate post
    See my answer in your other posting here Re: need help with script

  • Help with Subquery

    Hi All,
    I need help on a subquery to return multiple rows. I included this subquery in the select statement. Can someone help on the query
    select a.total  from TableA a where a.ID = b.ID and a.type = 'R' or a.total = 0
    Thanks
    Vani

    Here is the example. My req is to calculate the amount and reduced amount from the amount column based on the status
    Cust_no
    Status
    Amount
    12345
    Regular
    $50.26
    12345
    Discount
    $12
    22222
    Regular
    $233
    22222
    Discount
    $2
    23334
    DEFG
    0
    23333
    ABCD
    0
    I used CASE statement to the below output but the result was in multiple rows
    (Case when a.status <> ‘Discount’   then i.total) Amount
    (Case when a.status  = ‘Regular’ then i.total) Reduced_Amount
    Cust_no
    Status
    Amount
    Reduced Amount
    12345
    Regular
    $50.26
    12345
    Discount
    $12
    22222
    Regular
    $233
    22222
    Discount
    $2
    So I wrote a subquery to get the below output
    select a.amount  from TableA a where a.ID = b.ID and a.Status = 'R' and a.amount != 0
    Cust_no
    Amount
    Reduced Amount
    12345
    $50.26
    $12
    22222
    $233
    $2
    Now my req is to the get multiple rows from the subquery. How can i achieve that.
    select a.amount from TableA a where a.ID = b.ID and a.Status <> ‘Discount’ OR a.amount = 0
    Thanks,
    Vani

  • Need help with a query

    Hi,
    I need help with the following query. I want the balance (bal) with the latest exchange rate available.
    Sample table & data
    with
    FX_RATE as
    select 11 as id_date, 1 as id_curr, 47 as EXCH_rate from dual union
    select 12, 1, 48 from dual union
    select 13, 2, 54 from dual union
    select 14, 2, 55 from dual union
    select 15, 3, 56 from dual union
    select 15, 2, 49 from dual),
    TBL_NM as
    select 13 as p_date, 2 as p_curr, 200 as bal from dual union
    select 14, 2, 200 from dual union
    select 15, 2, 200 from dual union
    select 16, 2, 200 from dual union
    select 17, 2, 200 from dual union
    select 11, 5, 100 from dual
    select p_date, p_curr, bal * nvl(exch_rate,1) from TBL_NM T LEFT OUTER JOIN FX_RATE F1 on (id_curr = p_curr and F1.id_date = T.p_Date)In the above query for p_date 16 & 17 and p_curr 2 it returns just balance multiplied by exchange rate 1"default". But i want the balance to have data as per latest exchange rate which is of exchange rate 15.
    I tried this but returns error ORA-01799: a column may not be outer joined to a subquery ..
    with
    FX_RATE as
    select 11 as id_date, 1 as id_curr, 47 as EXCH_rate from dual union
    select 12, 1, 48 from dual union
    select 13, 2, 54 from dual union
    select 14, 2, 55 from dual union
    select 15, 3, 56 from dual union
    select 15, 2, 49 from dual),
    TBL_NM as
    select 13 as p_date, 2 as p_curr, 200 as bal from dual union
    select 14, 2, 200 from dual union
    select 15, 2, 200 from dual union
    select 16, 2, 200 from dual union
    select 17, 2, 200 from dual union
    select 11, 5, 100 from dual
    select p_date, p_curr, bal * nvl(exch_rate,1) from TBL_NM T LEFT OUTER JOIN FX_RATE F1
    on (id_curr = p_curr and F1.id_date = (select max(F2.id_date) from FX_RATE F2 where F2.id_curr = T.p_curr and F2.id_Date <=  T.p_date))Please advice on how i can achieve this ..

    The entire query wud be like this .. I've to incorporate in here
    CREATE MATERIALIZED VIEW MV_DUMMY
    BUILD IMMEDIATE
    REFRESH FORCE ON DEMAND
    AS
        SELECT T.ID_TSACTION_RELEASED                                                                                
        BAL.ID_CONTRACT_BALANCE                                                                                                                                                                                                                                                                           AS ID_CONTRACT_BALANCE,   
        T.N_REFERENCE_NUMBER                                                                                          
        T.INSTRUMENT_N_REFERENCE                                                                                      
        T.ITEM_NUMBER                                                                                                   
        T.EXTERNAL_SYSTEM_ID                                                                                            
        T.SEQUENCE_NUMBER                                                                                               
        T.ID_RELEASED_DATE                                                                                              
       ROUND(BAL.LC_AVAILABLE_BALANCE * NVL(FX1.EXCHANGE_RATE,1) / NVL(FX2.EXCHANGE_RATE,1) , 4)                           
        BAL.LIABILITY_BALANCE                                                                                              
        BAL.LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)                                                                   
        BAL.LIABILITY_CHANGE_USD                                                                                           
        BAL.MEMO_LIABILITY_BALANCE                                                                                         
        BAL.MEMO_LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)                                                              
        BAL.MEMO_LIABILITY_CHANGE_USD                                                                                      
        BAL.ORIGINAL_FACE_AMOUNT                                                                                           
        decode(T.TENOR_CODE,'Time','T','Sight','S','Split Sight Time','SST','Split Multiple Time','SMT',T.TENOR_CODE)
        CASE
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
          THEN T.ID_LIABILITY_CIF
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
          THEN T.Id_Beneficiary
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
          THEN T.ID_Applicant
        END PRIMARY_CUSTOMER_ID,
        CASE
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
          THEN plbcif.EXTERNAL_SYSTEM_ID
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
          THEN PBCIF.EXTERNAL_SYSTEM_ID
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
          THEN pappcif.EXTERNAL_SYSTEM_ID
        END PRIMARY_CUSTOMER_EXT_SYS_ID,
        CASE
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
          THEN plbcif.CIF_NAME
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
          THEN PBCIF.CIF_NAME
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
          THEN pappcif.CIF_NAME
        END PRIMARY_CUSTOMER_NAME,
        CASE
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
          THEN plbbac.BAC
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
          THEN pbbac.BAC
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
          THEN pappbac.BAC
        END PRIMARY_CUST_BAC_CODE,
        CASE
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
          THEN nvl(plbmg.MARKET,'NOT APPLICABLE')
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
          THEN nvl(pbmg.MARKET,'NOT APPLICABLE')
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
          THEN nvl(pappmg.MARKET,'NOT APPLICABLE')
        END PRIMARY_CUST_MARKET,
        CASE
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
          THEN nvl(plbmg.SUB_MARKET,'NOT APPLICABLE')
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
          THEN nvl(pbmg.SUB_MARKET,'NOT APPLICABLE')
          WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
          THEN nvl(pappmg.SUB_MARKET,'NOT APPLICABLE')
        END PRIMARY_CUST_SUB_MARKET
      FROM F_TSACTION_RELEASED T
      LEFT OUTER JOIN D_BAC_CODE BAC
      ON (T.BAC_CODE_LIABILITY = BAC.BAC_CODE)
      LEFT OUTER JOIN REF_BAC_SORT_CODE REF_BAC
      ON (T.BAC_CODE_LIABILITY = REF_BAC.BAC)
      LEFT OUTER JOIN F_CONTRACT_BALANCE BAL
      ON (T.ID_TSACTION_RELEASED = BAL.ID_TSACTION_RELEASED)
      LEFT OUTER JOIN D_MARKET_SEGMENT MG
      ON (T.ID_MARKET_SEGMENT = MG.ID_MARKET_SEGMENT)
      LEFT OUTER JOIN D_DATE DT
      ON (DT.ID_DATE = T.ID_RELEASED_DATE)
      LEFT OUTER JOIN D_DATE DB
      ON (DB.ID_DATE = BAL.ID_RELEASED_DATE)
      LEFT OUTER JOIN D_PROCESSING_UNIT PU
      ON (PU.ID_PROCESSING_UNIT = T.ID_PROCESSING_UNIT)
      LEFT OUTER JOIN D_BIR_PRODUCT BIRPROD
      ON (BIRPROD.ID_BIR_PRODUCT=T.ID_BIR_PRODUCT)
      LEFT OUTER JOIN D_GTS_PRODUCT_TYPE GTSPROD
      ON (GTSPROD.ID_GTS_PRODUCT_TYPE= T.ID_GTS_PRODUCT_TYPE)
      LEFT OUTER JOIN D_GTS_TSACTION_TYPE GTST
      ON (GTST.ID_GTS_TSACTION_TYPE = T.ID_GTS_TSACTION_TYPE)
      LEFT OUTER JOIN D_CURRENCY CCYT
      ON (CCYT.ID_CURRENCY = T.ID_TSACTION_CURRENCY)
      LEFT OUTER JOIN d_cif lcif
      ON (lcif.id_cif = T.id_liability_cif)
      LEFT OUTER JOIN d_cif lbcif
      ON (lbcif.id_cif = bal.id_liability_cif)
      LEFT OUTER JOIN d_cif bcif
      ON (bcif.id_cif = T.id_BENEFICIARY)
      LEFT OUTER JOIN d_cif icif
      ON (icif.id_cif = T.id_ISSUING_BANK)
      LEFT OUTER JOIN d_cif acif
      ON (acif.id_cif = T.id_ADVISING_BANK)
      LEFT OUTER JOIN d_cif appcif
      ON (appcif.id_cif = T.id_applicant)
      LEFT OUTER JOIN d_state astate
      ON (astate.id_state = acif.id_state)
      LEFT OUTER JOIN d_state bstate
      ON (bstate.id_state = bcif.id_state)
      LEFT OUTER JOIN d_state lstate
      ON (lstate.id_state = lcif.id_state)
      LEFT OUTER JOIN d_state lbstate
      ON (lbstate.id_state = lbcif.id_state)
      LEFT OUTER JOIN d_state istate
      ON (istate.id_state = icif.id_state)
      LEFT OUTER JOIN d_state appstate
      ON (appstate.id_state = appcif.id_state)
      LEFT OUTER JOIN D_TSACTION_SOURCE TSrc
      ON (T.ID_TSACTION_SOURCE = TSrc.ID_TSACTION_SOURCE)
      LEFT OUTER JOIN D_COUNTRY LCTRY
      ON (LCTRY.ID_COUNTRY = lcif.ID_COUNTRY)
      LEFT OUTER JOIN D_COUNTRY LBCTRY
      ON (LBCTRY.ID_COUNTRY = lbcif.ID_COUNTRY)
      LEFT OUTER JOIN D_COUNTRY BCTRY
      ON (BCTRY.ID_COUNTRY = bcif.ID_COUNTRY)
      LEFT OUTER JOIN D_COUNTRY ICTRY
      ON (ICTRY.ID_COUNTRY = icif.ID_COUNTRY)
      LEFT OUTER JOIN D_COUNTRY ACTRY
      ON (ACTRY.ID_COUNTRY = acif.ID_COUNTRY)
      LEFT OUTER JOIN D_COUNTRY APPCTRY
      ON (APPCTRY.ID_COUNTRY = appcif.ID_COUNTRY)
      LEFT OUTER JOIN D_COUNTRY PCTRY
      ON (PCTRY.ID_COUNTRY = T.ID_PRESENTER_COUNTRY)
      LEFT OUTER JOIN D_LOCATION LOC
      ON (LOC.ID_LOCATION = T.ID_PROCESSING_LOCATION)
      LEFT OUTER JOIN D_CURRENCY BCCYT
      ON (BCCYT.ID_CURRENCY = BAL.ID_LIABILITY_CURRENCY)
      LEFT OUTER JOIN D_CURRENCY BALCYT
      ON (BALCYT.ID_CURRENCY = BAL.ID_BALANCE_CURRENCY)
      LEFT OUTER JOIN d_liability_type li
      ON (li.id_liability_type = BAL.id_liability_type)
      LEFT OUTER JOIN d_cif plbcif
      ON (plbcif.id_cif = T.id_liability_cif)
      LEFT OUTER JOIN REF_BAC_SORT_CODE plbbac
      ON (plbcif.bac_code=plbbac.bac)
      LEFT OUTER JOIN D_MARKET_SEGMENT plbmg
      ON (plbbac.SORT_CODE=plbmg.MARKET_SEGMENT)
      LEFT OUTER JOIN d_cif pbcif
      ON (pbcif.id_cif = T.id_BENEFICIARY)
      LEFT OUTER JOIN REF_BAC_SORT_CODE pbbac
      ON (pbcif.bac_code=pbbac.bac)
      LEFT OUTER JOIN D_MARKET_SEGMENT pbmg
      ON (pbbac.SORT_CODE=pbmg.MARKET_SEGMENT)
      LEFT OUTER JOIN d_cif pappcif
      ON (pappcif.id_cif = T.id_applicant)
      LEFT OUTER JOIN REF_BAC_SORT_CODE pappbac
      ON (pappcif.bac_code=pappbac.bac)
      LEFT OUTER JOIN D_MARKET_SEGMENT pappmg
      ON (pappbac.SORT_CODE=pappmg.MARKET_SEGMENT)
      LEFT OUTER JOIN D_CURRENCY LOCALCYT
      ON (LOCALCYT.alpha_code = PU.local_ccy)
      LEFT OUTER JOIN D_BRANCH Branch              
      ON (T.ID_BRANCH  = Branch.ID_BRANCH )
      LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX1
      ON (BAL.ID_BALANCE_CURRENCY = FX1.ID_CURRENCY and FX1.ID_DATE = (select max(FX11.ID_DATE) from F_USD_FX_RATE_HISTORY FX11 where BAL.ID_BALANCE_CURRENCY = FX11.ID_CURRENCY and FX11.ID_DATE <= BAL.id_released_date))
      LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX2
      ON (LOCALCYT.ID_CURRENCY = FX2.ID_CURRENCY and FX2.ID_DATE = (select max(FX22.ID_DATE) from F_USD_FX_RATE_HISTORY FX22 where LOCALCYT.ID_CURRENCY = FX22.ID_CURRENCY and FX22.ID_DATE <= BAL.id_released_date))
      LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX3
      ON (BAL.ID_LIABILITY_CURRENCY = FX3.ID_CURRENCY and FX3.ID_DATE = (select max(FX33.ID_DATE) from F_USD_FX_RATE_HISTORY FX33 where BAL.ID_LIABILITY_CURRENCY = FX33.ID_CURRENCY and FX33.ID_DATE <= BAL.id_released_date))Note the lines
    ROUND(BAL.MN_AVAILABLE_BALANCE * NVL(FX1.EXCHANGE_RATE,1) / NVL(FX2.EXCHANGE_RATE,1) , 4)                           
    BAL.LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)                                                                   
    BAL.MEMO_LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)                 
    And
    LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX1
      ON (BAL.ID_BALANCE_CURRENCY = FX1.ID_CURRENCY and FX1.ID_DATE = (select max(FX11.ID_DATE) from F_USD_FX_RATE_HISTORY FX11 where BAL.ID_BALANCE_CURRENCY = FX11.ID_CURRENCY and FX11.ID_DATE <= BAL.id_released_date))
      LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX2
      ON (LOCAMNYT.ID_CURRENCY = FX2.ID_CURRENCY and FX2.ID_DATE = (select max(FX22.ID_DATE) from F_USD_FX_RATE_HISTORY FX22 where LOCAMNYT.ID_CURRENCY = FX22.ID_CURRENCY and FX22.ID_DATE <= BAL.id_released_date))
      LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX3
      ON (BAL.ID_LIABILITY_CURRENCY = FX3.ID_CURRENCY and FX3.ID_DATE = (select max(FX33.ID_DATE) from F_USD_FX_RATE_HISTORY FX33 where BAL.ID_LIABILITY_CURRENCY = FX33.ID_CURRENCY and FX33.ID_DATE <= BAL.id_released_date))Thsi is where I need to incorporate the change

  • Help with Subqueries

    Hello all,
    I’m hoping to get some help with my SQL code. I’m relatively new with SQL, and this is my first time using subqueries, and I’m getting some issues. Here’s what I’m looking to do, and I’ll try to make it as least confusing as possible.
    My table contains multiple shipments each with multiple status codes for the shipment. I’m filtering for shipments containing a status code of SMRV. There might be multiple SMRV codes per shipment. Now, the problem is that an SMRV is sometimes associated with a SPLN code. If so, these codes will be assigned on the same day. My goal is to REMOVE all SMRV codes within a shipment in which the date the SMRV and SPLN codes are equal.
    So my methodology is as such.
    1. Subquery x retrieves all shipments with an SMRV code, along with the code date
    2. Subquery y looks at those shipments and retrieves the SPLN dates
    3. Outer query returns shipment #, all SMRV status codes and dates in which SMRV dates aren’t equal to an SPLN date
    Issues
    1. Running my subquery y returns a duplicate set of dates. I took care of this by using a SELECT DISTINCT function, but I’m not sure if my code is just wrong somehow.
    2. Outer query just gives me an error I don’t understand.
    ORA-06553: PLS-306: wrong number or types of arguments in call to 'OGC_X'
    06553. 00000 - "PLS-%s: %s"
    *Cause:   
    *Action:
    Error at Line: 164 Column: 29
    Maybe there is an easier way to do this, but I’ve been studying online examples and can’t find out what I’m doing wrong. Thanks in advance!
    select
    cmt.SHPMT_NUM "Shipment_Number",
    cmt.EVENT_CATG_TYPE_ID "Status Code",
    cmt.EVENT_DT "SRMV_Date"
    from
    table.shpmt shp,
    table.cmnt_and_event cmt,
    (select distinct
    cmt.EVENT_DT "SPLN_Date"
    from
    table.cmnt_and_event cmt,
    (select
    cmt.SHPMT_NUM "Shipment_Number",
    cmt.EVENT_DT "SRMV_Date"
    from
    table.cmnt_and_event cmt
    where cmt.SHPMT_NUM = '254151301'
    and cmt.EVENT_CATG_TYPE_ID IN ('SRMV')) x
    where cmt.SHPMT_NUM = x."Shipment_Number"
    and cmt.EVENT_CATG_TYPE_ID IN ('SPLN')) y
    where x."Shipment_Number" = cmt.SHPMT_NUM
    and cmt.SHPMT_NUM = shp.SHPMT_NUM
    and x."SRMV_Date" <> y."SPLN_Date" (ERROR seems to happen here)
    and cmt.EVENT_CATG_TYPE_ID IN ('SRMV')

    I have not yet tried to see if the SQL statement matches the requirements, but I have reformatted the SQL statement to highlight why you are receiving an error.
    select
      cmt.SHPMT_NUM "Shipment_Number",
      cmt.EVENT_CATG_TYPE_ID "Status Code",
      cmt.EVENT_DT "SRMV_Date"
    from
      table.shpmt shp,
      table.cmnt_and_event cmt,
      (select distinct
        cmt.EVENT_DT "SPLN_Date"
      from
        table.cmnt_and_event cmt,
        (select
          cmt.SHPMT_NUM "Shipment_Number",
          cmt.EVENT_DT "SRMV_Date"
        from
          table.cmnt_and_event cmt
        where
          cmt.SHPMT_NUM = '254151301'
          and cmt.EVENT_CATG_TYPE_ID IN ('SRMV')
        ) x
      where
        cmt.SHPMT_NUM = x."Shipment_Number"
        and cmt.EVENT_CATG_TYPE_ID IN ('SPLN')
      ) y
    where
      x."Shipment_Number" = cmt.SHPMT_NUM
      and cmt.SHPMT_NUM = shp.SHPMT_NUM
      and x."SRMV_Date" != y."SPLN_Date"
      and cmt.EVENT_CATG_TYPE_ID IN ('SRMV')In the above, I changed the less than/greater than combination into the equivalent != so that is will print on the forum web page.
    The reason for the error is that the inline view that you have aliased as X is inside the inline view that you have aliased as Y. The X alias is not visible to the final WHERE clause, and that is why the third line in the WHERE clause is throwing an error (the first one will also). Because the X inline view is inside the Y inline view, you must tell the optimizer how to join the table aliased as SHP to the table aliased as CMT to the inline view X in the second to the last WHERE clause (where you have cmt.SHPMT_NUM = x."Shipment_Number").
    Charles Hooper
    Co-author of "Expert Oracle Practices: Oracle Database Administration from the Oak Table"
    http://hoopercharles.wordpress.com/
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.
    Edited by: Charles Hooper on Oct 15, 2010 9:46 AM
    The table alias as SHP is not in the inline view Y.

  • Help with inner join PLEASE IGNORE

    Hi I was doing a select with a subquery but I need that the where clause check to values so I couldn't get it so I decided to create a INNER JOIN
    Before
    insert into BPMTEMP (select * from ODS_VIEWER.BAN_EVENTOS_CONFIRMACION@DBLINK1 where id_solicitud and accion not in (select (id_solicitud, accion) from ODS_VIEWER.BAN_CONFIRMA_RESPUESTA@DBLINK1) and rownum <=200);but the problem with the inner join is that it doesn't accept me the external database source
    insert into BPMTEMP (select ODS_VIEWER.BAN_EVENTOS_CONFIRMACION@DBLINK1.*, ODS_VIEWER.BAN_CONFIRMA_RESPUESTA@DBLINK1.*
    from ODS_VIEWER.BAN_EVENTOS_CONFIRMACION@DBLINK1
    INNER JOIN ODS_VIEWER.BAN_CONFIRMA_RESPUESTA@DBLINK1
    ON [email protected]_solicitud = [email protected]_solicitud
    ON [email protected] = [email protected]
    AND rownum <=200); it shows an:
    ORA-02084:
         database name is missing a component
    Cause:      supplied database name cannot contain a leading '.', trailing '.' or '@', or two '.' or '@' in a row.
    how can I solve this????
    thanks for your help
    Edited by: Diego Guillen on 29/12/2009 11:14 AM

    Hi
    Please remove the @dblink stuff in the column descrptions or use a table alias. This should help.
    drop database link lokal;
    create database link lokal
       CONNECT TO whateveruserineed IDENTIFIED BY whateverthing
       USING 'lokal11g';
    select HR.COUNTRIES.*  from HR.COUNTRIES@lokal;
    select x.* from HR.COUNTRIES@lokal x;And as Dan Morgans says, pls. post you ? in the right forum next time :-))
    Mette

  • Help with group by

    Can anyone tell why this query isn't working? It returns NOT a group by expression error. It has something to do with the subquery but I know I can't group by the alias of that statement. Any help would be appreciated.
    SELECT acc.uprn,
    NVL (SUM (lth.balance), 0) balance,
    (SELECT SUM (balance)
    FROM lsc_transaction_history lth
    WHERE acc.account_no = lth.account_no
    AND SUBSTR (lth.account_no,10,3) = 450) repair_balance
    FROM lsc_occupants occ,
    lsc_account acc,
    lsc_area lmc,
    hpm_view_property p,
    lsc_account_parties_view accn,
    lsc_transaction_history lth
    WHERE occ.seq_no = acc.seq_no
    AND acc.uprn = occ.uprn
    AND occ.account_type = acc.account_type
    AND lmc.code = acc.area_code
    AND p.uprn = occ.uprn
    AND accn.account_no = acc.account_no
    AND lth.account_no = acc.account_no
    GROUP BY acc.uprn

    Well, the hints were already given, but maybe an example make it clearer.
    SQL> create table lsc_account
      2  as
      3  select 1 uprn, '100000000000' account_no from dual union all
      4  select 1, '100000000450' from dual union all
      5  select 2, '100000000450' from dual
      6  /
    Tabel is aangemaakt.
    SQL> create table lsc_transaction_history
      2  as
      3  select '100000000000' account_no, 100 balance from dual union all
      4  select '100000000000', 200 from dual union all
      5  select '100000000000', 300 from dual union all
      6  select '100000000450', 400 from dual union all
      7  select '100000000450', 500 from dual
      8  /
    Tabel is aangemaakt.
    SQL> SELECT acc.uprn
      2       , NVL (SUM (lth.balance), 0) balance
      3       , ( SELECT SUM (balance)
      4             FROM lsc_transaction_history lth
      5            WHERE acc.account_no = lth.account_no
      6              AND SUBSTR (lth.account_no,10,3) = 450
      7         ) repair_balance
      8    FROM lsc_account acc
      9       , lsc_transaction_history lth
    10   WHERE lth.account_no = acc.account_no
    11   GROUP BY acc.uprn
    12  /
              WHERE acc.account_no = lth.account_no
    FOUT in regel 5:
    .ORA-00979: Geen GROUP BY-uitdrukking.
    SQL> select acc.uprn
      2       , nvl(sum(lth.balance),0) balance
      3       , nvl(sum(case substr(lth.account_no,10,3) when '450' then balance end),0) repair_balance
      4    from lsc_account acc
      5       , lsc_transaction_history lth
      6   where lth.account_no = acc.account_no
      7   group by acc.uprn
      8  /
    UPRN      BALANCE REPAIR_BALANCE
       1         1500            900
       2          900            900You only need to access the lsc_transaction_history table once this way.
    Regards,
    Rob.

  • Help with count and sum query

    Hi I am using oracle 10g. Trying to aggregate duplicate count records. I have so far:
    SELECT 'ST' LEDGER,
    CASE
    WHEN c.Category = 'E' THEN 'Headcount Exempt'
    ELSE 'Headcount Non-Exempt'
    END
    ACCOUNTS,
    CASE WHEN a.COMPANY = 'ZEE' THEN 'OH' ELSE 'NA' END MARKET,
    'MARCH_12' AS PERIOD,
    COUNT (a.empl_id) head_count
    FROM essbase.employee_pubinfo a
    LEFT OUTER JOIN MMS_DIST_COPY b
    ON a.cost_ctr = TRIM (b.bu)
    INNER JOIN MMS_GL_PAY_GROUPS c
    ON a.pay_group = c.group_code
    WHERE a.employee_status IN ('A', 'L', 'P', 'S')
    AND FISCAL_YEAR = '2012'
    AND FISCAL_MONTH = 'MARCH'
    GROUP BY a.company,
    b.district,
    a.cost_ctr,
    c.category,
    a.fiscal_month,
    a.fiscal_year;
    which gives me same rows with different head_counts. I am trying to combine the same rows as a total (one record). Do I use a subquery?

    Hi,
    Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables involved.
    Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
    user610131 wrote:
    ... which gives me same rows with different head_counts.If they have different head_counts, then the rows are not the same.
    I am trying to combine the same rows as a total (one record). Do I use a subquery?Maybe. It's more likely that you need a different GROUP BY clause, since the GROUP BY clause determines how many rows of output there will be. I'll be able to say more after you post the sample data, results, and explanation.
    You may want both a sub-query and a different GROUP BY clause. For example:
    WITH    got_group_by_columns     AS
         SELECT  a.empl_id
         ,     CASE
                        WHEN  c.category = 'E'
                  THEN  'Headcount Exempt'
                        ELSE  'Headcount Non-Exempt'
                END          AS accounts
         ,       CASE
                        WHEN a.company = 'ZEE'
                        THEN 'OH'
                        ELSE 'NA'
                END          AS market
         FROM              essbase.employee_pubinfo a
         LEFT OUTER JOIN  mms_dist_copy             b  ON   a.cost_ctr     = TRIM (b.bu)
         INNER JOIN       mms_gl_pay_groups        c  ON   a.pay_group      = c.group_code
         WHERE     a.employee_status     IN ('A', 'L', 'P', 'S')
         AND        fiscal_year           = '2012'
         AND        fiscal_month          = 'MARCH'
    SELECT    'ST'               AS ledger
    ,       accounts
    ,       market
    ,       'MARCH_12'          AS period
    ,       COUNT (empl_id)       AS head_count
    FROM       got_group_by_columns
    GROUP BY  accounts
    ,            market
    ;But that's just a wild guess.
    You said you wanted "Help with count and sum". I see the COUNT, but what do you want with SUM? No doubt this will be clearer after you post the sample data and results.
    Edited by: Frank Kulash on Apr 4, 2012 5:31 PM

  • Anybody can help with this SQL?

    The table is simple, only 2 columns:
    create table personpay(
    id integer primary key,
    pay number(8,2) not null);
    So the original talbe looks like this:
    ID PAY
    1 800
    2 400
    3 1200
    4 500
    5 600
    6 1900
    The requirement is to use one single query(no pl/sql) to show something lile the following, in other words, for each ID, the pay is the sum of all before itself and itself. So the query result looks like this:
    ID PAY
    1 800
    2 1200
    3 2400
    4 2900
    5 3500
    6 5400
    Again, just use one sql. No pl/sql. Anybody can help with this? I really appreciate that.
    thanks,

    Eh, people are so "analytically minded" that can't even notice a simple join?
    Counting Ordered Rows
    Let’s start with a basic counting problem. Suppose we are given a list of integers, for example:
    x
    2
    3
    4
    6
    9
    and want to enumerate all of them sequentially like this:
    x      #
    2      1
    3      2
    4      3
    6      4
    9      5
    Enumerating rows in the increasing order is the same as counting how many rows precede a given row.
    SQL enjoys success unparalleled by any rival query language. Not the last reason for such popularity might be credited to its proximity to English . Let examine the informal idea
    Enumerating rows in increasing order is counting how many rows precede a given row.
    carefully. Perhaps the most important is that we referred to the rows in the source table twice: first, to a given row, second, to a preceding row. Therefore, we need to join our number list with itself (fig 1.1).
    Cartesian Product
    Surprisingly, not many basic SQL tutorials, which are so abundant on the web today, mention Cartesian product. Cartesian product is a join operator with no join condition
    select A.*, B.* from A, B
    Figure 1.1: Cartesian product of the set A = {2,3,4,6,9} by itself. Counting all the elements x that are no greater than y produces the sequence number of y in the set A.
    Carrying over this idea into formal SQL query is straightforward. As it is our first query in this book, let’s do it step by step. The Cartesian product itself is
    select t.x x, tt.x y
    from T t, T tt
    Next, the triangle area below the main diagonal is
    select t.x x, tt.x y
    from T t, T tt
    where tt.x <= t.x
    Finally, we need only one column – t.x – which we group the previous result by and count
    select t.x, count(*) seqNum
    from T t, T tt
    where tt.x <= t.x
    group by t.x
    What if we modify the problem slightly and ask for a list of pairs where each number is coupled with its predecessor?
    x      predecessor
    2      
    3      2
    4      3
    6      4
    9      6
    Let me provide a typical mathematician’s answer, first -- it is remarkable in a certain way. Given that we already know how to number list elements successively, it might be tempted to reduce the current problem to the previous one:
    Enumerate all the numbers in the increasing order and match each sequence number seq# with predecessor seq#-1. Next!
    This attitude is, undoubtedly, the most economical way of thinking, although not necessarily producing the most efficient SQL. Therefore, let’s revisit our original approach, as illustrated on fig 1.2.
    Figure 1.2: Cartesian product of the set A = {2,3,4,6,9} by itself. The predecessor of y is the maximal number in a set of x that are less than y. There is no predecessor for y = 2.
    This translates into the following SQL query
    select t.x, max(tt.x) predecessor
    from T t, T tt
    where tt.x < t.x
    group by t.x
    Both solutions are expressed in standard SQL leveraging join and grouping with aggregation. Alternatively, instead of joining and grouping why don’t we calculate the count or max just in place as a correlated scalar subquery:
    select t.x,
    (select count(*) from T tt where tt.x <= t.x) seq#
    from T t
    group by t.x
    The subquery always returns a single value; this is why it is called scalar. The tt.x <= t.x predicate connects it to the outer query; this is why it is called correlated. Arguably, leveraging correlated scalar subqueries is one the most intuitive techniques to write SQL queries.
    How about counting rows that are not necessarily distinct? This is where our method breaks. It is challenging to distinguish duplicate rows by purely logical means, so that various less “pure” counting methods were devised. They all, however, require extending the SQL syntactically, which was the beginning of slipping along the ever increasing language complexity slope.
    Here is how analytic SQL extension counts rows
    select x, rank() over(order by x) seq# from T; -- first problem
    select x, lag() over(order by x) seq# from T; -- second problem
    Many people suggest that it’s not only more efficient, but more intuitive. The idea that “analytics rocks” can be challenged in many ways. The syntactic clarity has its cost: SQL programmer has to remember (or, at least, lookup) the list of analytic functions. The performance argument is not evident, since non-analytical queries are simpler construction from optimizer perspective. A shorter list of physical execution operators implies fewer query transformation rules, and less dramatic combinatorial explosion of the optimizer search space.
    It might even be argued that the syntax could be better. The partition by and order by clauses have similar functionality to the group by and order by clauses in the main query block. Yet one name was reused, and the other had been chosen to have a new name. Unlike other scalar expressions, which can be placed anywhere in SQL query where scalar values are accepted, the analytics clause lives in the scope of the select clause only. I have never been able to suppress an impression that analytic extension could be designed in more natural way.

  • Help with output

    Hi,
    i have two tables
    create table mac(ID number, Name varchar2(100))
    insert into mac values(1,'Doughnut machine');
    insert into mac values(2 , 'Hamburger machine');
    insert into mac values(3, 'Ice cream machine');
    create table Parts(ID number, Name varchar2(100),fk_mac number)
    insert into parts values(1,'Screws',2);
    insert into parts values(2, 'Nails', 3);
    insert into parts values(3, 'Rivets', 1);
    insert into parts values(4, 'Glue', 2);
    insert into parts values(5, 'Plates', 2);
    insert into parts values(6, 'Panels', 3);
    Now i query this table with the following query
    select x.id, x.name,y.prt1,y.prt2,y.prt3,y.prt4,y.prt5,y.prt6 from(
    select fk_mac,decode(id,1,name,' ')prt1,
    decode(id,2,name,' ')prt2,
    decode(id,3,name,' ')prt3,
    decode(id,4,name,' ')prt4,
    decode(id,5,name,' ')prt5,
    decode(id,6,name,' ')prt6
    from parts)y,mac x
    where x.id=y.fk_mac
    i get the output as follows
    ID NAME     PRT1 PRT2 PRT3 PRT4 PRT5 PRT6
    1 Doughnut machine          Rivets               
    2 Hamburger machine Screws                         
    2 Hamburger machine          Glue          
    2 Hamburger machine               Plates     
    3 Ice cream machine     Nails                    
    3 Ice cream machine                    Panels
    I need output as
    ID NAME     PRT1 PRT2 PRT3 PRT4 PRT5 PRT6
    1 Doughnut machine          Rivets               
    2 Hamburger machine Screws          Glue Plates           
    3 Ice cream machine     Nails          Panels          
    Could someone help me with this...
    thanks in advance

    i am sorry but the output i am getting with that
    subquery is
    FK_MAC     PRT1     PRT2     PRT3     PRT4     PRT5     PRT6
    1               Rivets               
    2                              
    3                              
    which is not correct i need to get
    ID NAME PRT1 PRT2 PRT3 PRT4 PRT5 PRT6
    1 Doughnut machine Rivets
    2 Hamburger machine Screws Glue Plates
    3 Ice cream machine Nails Panels
    thanks..Sorry.
    My error
    select x.id, x.name,
    min(decode(y.id,1,y.name)), min(decode(y.id,2,y.name)),
    min(decode(y.id,3,y.name)), min(decode(y.id,4,y.name)),
    min(decode(y.id,5,y.name)), min(decode(y.id,6,y.name))
    from scott.parts y,scott.mac x
    where x.id=y.fk_mac
    group by x.id, x.nameRegards
    Dmytro

  • Help with if statement in cursor and for loop to get output

    I have the following cursor and and want to use if else statement to get the output. The cursor is working fine. What i need help with is how to use and if else statement to only get the folderrsn that have not been updated in the last 30 days. If you look at the talbe below my select statement is showing folderrs 291631 was updated only 4 days ago and folderrsn 322160 was also updated 4 days ago.
    I do not want these two to appear in my result set. So i need to use if else so that my result only shows all folderrsn that havenot been updated in the last 30 days.
    Here is my cursor:
    /*Cursor for Email procedure. It is working Shows userid and the string
    You need to update these folders*/
    DECLARE
    a_user varchar2(200) := null;
    v_assigneduser varchar2(20);
    v_folderrsn varchar2(200);
    v_emailaddress varchar2(60);
    v_subject varchar2(200);
    Cursor c IS
    SELECT assigneduser, vu.emailaddress, f.folderrsn, trunc(f.indate) AS "IN DATE",
    MAX (trunc(fpa.attemptdate)) AS "LAST UPDATE",
    trunc(sysdate) - MAX (trunc(fpa.attemptdate)) AS "DAYS PAST"
    --MAX (TRUNC (fpa.attemptdate)) - TRUNC (f.indate) AS "NUMBER OF DAYS"
    FROM folder f, folderprocess fp, validuser vu, folderprocessattempt fpa
    WHERE f.foldertype = 'HJ'
    AND f.statuscode NOT IN (20, 40)
    AND f.folderrsn = fp.folderrsn
    AND fp.processrsn = fpa.processrsn
    AND vu.userid = fp.assigneduser
    AND vu.statuscode = 1
    GROUP BY assigneduser, vu.emailaddress, f.folderrsn, f.indate
    ORDER BY fp.assigneduser;
    BEGIN
    FOR c1 IN c LOOP
    IF (c1.assigneduser = v_assigneduser) THEN
    dbms_output.put_line(' ' || c1.folderrsn);
    else
    dbms_output.put(c1.assigneduser ||': ' || 'Overdue Folders:You need to update these folders: Folderrsn: '||c1.folderrsn);
    END IF;
    a_user := c1.assigneduser;
    v_assigneduser := c1.assigneduser;
    v_folderrsn := c1.folderrsn;
    v_emailaddress := c1.emailaddress;
    v_subject := 'Subject: Project for';
    END LOOP;
    END;
    The reason I have included the folowing table is that I want you to see the output from the select statement. that way you can help me do the if statement in the above cursor so that the result will look like this:
    emailaddress
    Subject: 'Project for ' || V_email || 'not updated in the last 30 days'
    v_folderrsn
    v_folderrsn
    etc
    [email protected]......
    Subject: 'Project for: ' Jim...'not updated in the last 30 days'
    284087
    292709
    [email protected].....
    Subject: 'Project for: ' Kim...'not updated in the last 30 days'
    185083
    190121
    190132
    190133
    190159
    190237
    284109
    286647
    294631
    322922
    [email protected]....
    Subject: 'Project for: Joe...'not updated in the last 30 days'
    183332
    183336
    [email protected]......
    Subject: 'Project for: Sam...'not updated in the last 30 days'
    183876
    183877
    183879
    183880
    183881
    183882
    183883
    183884
    183886
    183887
    183888
    This table is to shwo you the select statement output. I want to eliminnate the two days that that are less than 30 days since the last update in the last column.
    Assigneduser....Email.........Folderrsn...........indate.............maxattemptdate...days past since last update
    JIM.........      jim@ aol.com.... 284087.............     9/28/2006.......10/5/2006...........690
    JIM.........      jim@ aol.com.... 292709.............     3/20/2007.......3/28/2007............516
    KIM.........      kim@ aol.com.... 185083.............     8/31/2004.......2/9/2006.............     928
    KIM...........kim@ aol.com.... 190121.............     2/9/2006.........2/9/2006.............928
    KIM...........kim@ aol.com.... 190132.............     2/9/2006.........2/9/2006.............928
    KIM...........kim@ aol.com.... 190133.............     2/9/2006.........2/9/2006.............928
    KIM...........kim@ aol.com.... 190159.............     2/13/2006.......2/14/2006............923
    KIM...........kim@ aol.com.... 190237.............     2/23/2006.......2/23/2006............914
    KIM...........kim@ aol.com.... 284109.............     9/28/2006.......9/28/2006............697
    KIM...........kim@ aol.com.... 286647.............     11/7/2006.......12/5/2006............629
    KIM...........kim@ aol.com.... 294631.............     4/2/2007.........3/4/2008.............174
    KIM...........kim@ aol.com.... 322922.............     7/29/2008.......7/29/2008............27
    JOE...........joe@ aol.com.... 183332.............     1/28/2004.......4/23/2004............1585
    JOE...........joe@ aol.com.... 183336.............     1/28/2004.......3/9/2004.............1630
    SAM...........sam@ aol.com....183876.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183877.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183879.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183880.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183881.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183882.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183883.............3/5/2004.........3/8/2004.............1631
    SAM...........sam@ aol.com....183884.............3/5/2004.........3/8/2004............     1631
    SAM...........sam@ aol.com....183886.............3/5/2004.........3/8/2004............     1631
    SAM...........sam@ aol.com....183887.............3/5/2004.........3/8/2004............     1631
    SAM...........sam@ aol.com....183888.............3/5/2004.........3/8/2004............     1631
    PAT...........pat@ aol.com.....291630.............2/23/2007.......7/8/2008............     48
    PAT...........pat@ aol.com.....313990.............2/27/2008.......7/28/2008............28
    NED...........ned@ aol.com.....190681.............4/4/2006........8/10/2006............746
    NED...........ned@ aol.com......95467.............6/14/2006.......11/6/2006............658
    NED...........ned@ aol.com......286688.............11/8/2006.......10/3/2007............327
    NED...........ned@ aol.com.....291631.............2/23/2007.......8/21/2008............4
    NED...........ned@ aol.com.....292111.............3/7/2007.........2/26/2008............181
    NED...........ned@ aol.com.....292410.............3/15/2007.......7/22/2008............34
    NED...........ned@ aol.com.....299410.............6/27/2007.......2/27/2008............180
    NED...........ned@ aol.com.....303790.............9/19/2007.......9/19/2007............341
    NED...........ned@ aol.com.....304268.............9/24/2007.......3/3/2008............     175
    NED...........ned@ aol.com.....308228.............12/6/2007.......12/6/2007............263
    NED...........ned@ aol.com.....316689.............3/19/2008.......3/19/2008............159
    NED...........ned@ aol.com.....316789.............3/20/2008.......3/20/2008............158
    NED...........ned@ aol.com.....317528.............3/25/2008.......3/25/2008............153
    NED...........ned@ aol.com.....321476.............6/4/2008.........6/17/2008............69
    NED...........ned@ aol.com.....322160.............7/3/2008.........8/21/2008............4
    MOE...........moe@ aol.com.....184169.............4/5/2004.......12/5/2006............629
    [email protected]/27/2004.......3/8/2004............1631
    How do I incorporate a if else statement in the above cursor so the two days less than 30 days since last update are not returned. I do not want to send email if the project have been updated within the last 30 days.
    Edited by: user4653174 on Aug 25, 2008 2:40 PM

    analytical functions: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions2a.htm#81409
    CASE
    http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#36899
    http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/04_struc.htm#5997
    Incorporating either of these into your query should assist you in returning the desired results.

  • I need help with Sunbird Calendar, how can I transfer it from one computer to the other and to my iphone?

    I installed Sunbird in one computer and my calendar has all my infos, events, and task that i would like to see on another computer that i just downloaded Sunbird into. Also, is it possible I can access Sunbird on my iphone?
    Thank you in advance,

    Try the forum here - http://forums.mozillazine.org/viewforum.php?f=46 - for help with Sunbird, this forum is for Firefox support.

  • Hoping for some help with a very frustrating issue!   I have been syncing my iPhone 5s and Outlook 2007 calendar and contacts with iCloud on my PC running Vista. All was well until the events I entered on the phone were showing up in Outlook, but not

    Hoping for some help with a very frustrating issue!
    I have been syncing calendar and contacts on my iPhone 5 and Outlook 2007 using iCloud  2.1.3 (my PC is running Vista). All was well until the events I entered on the phone were showing up in Outlook, but not the other way around. I’ve tried the usual recommended steps: deselecting calendar and contacts in the iCloud control panel and then re-selecting, signing out of the panel and back in, and repairing the Outlook installation in control panel.  I even uninstalled iCloud on the PC and downloaded it again (same version). 
    The furthest I’ve gotten is step 2 (and once, step 3) of 7 while performing “Outlook Setup For iCloud.” At that point I get, “Your setup couldn’t be started because of an unexpected error.”  After the first attempt at all this, all my calendar events disappeared from Outlook, although they are still in iCloud calendar and on my phone.
    Sound familiar?  Any ideas on how to solve this iCloud/Outlook issue?  Thanks much in advance!

    Hoping for some help with a very frustrating issue!
    I have been syncing calendar and contacts on my iPhone 5 and Outlook 2007 using iCloud  2.1.3 (my PC is running Vista). All was well until the events I entered on the phone were showing up in Outlook, but not the other way around. I’ve tried the usual recommended steps: deselecting calendar and contacts in the iCloud control panel and then re-selecting, signing out of the panel and back in, and repairing the Outlook installation in control panel.  I even uninstalled iCloud on the PC and downloaded it again (same version). 
    The furthest I’ve gotten is step 2 (and once, step 3) of 7 while performing “Outlook Setup For iCloud.” At that point I get, “Your setup couldn’t be started because of an unexpected error.”  After the first attempt at all this, all my calendar events disappeared from Outlook, although they are still in iCloud calendar and on my phone.
    Sound familiar?  Any ideas on how to solve this iCloud/Outlook issue?  Thanks much in advance!

Maybe you are looking for

  • Runtime in Java- Beans

    I have the requirement to write a Java- Bean, which calls a command line Application on the Client. The Problem is: if I call a command- line Application, it seems that Java grabs the Input and Output- streams (I dont see anything in the command line

  • Bt sport free in october

    it really makes me agry when companies like sky and now bt sport pull stunts like this as the paying subscribers get absolutely no discount no free airtime or anything if it was not for enjoying the rugby coverage i would cancel my subscription immed

  • Select first node in train depending on Radio Buttons

    I followed the document http://www.oracle.com/technetwork/developer-tools/adf/learnmore/82-programmatically-navigate-trains-396873.pdf to programmatically navigate ADF train now i want to select the first node in the train depending on the selected R

  • Package - performance-wise is it correct?

    Hi All I have created a package which runs as a concurrent programme to populate 9 tables. The package includes a separate procedures to populate each of the tables as below. I would like to know whether the below method is recommended performance-wi

  • 8830 problem with dropping emails

    When opening the email icon my BB 8830, it occasionally shows the list of received emails briefly (less than 1 second) then erases all the emails in the Inbox. I have done the soft reset to no avail and there seems to be no pattern as to when it does