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
-
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.
LillianneREM 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 days 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 yesterdays 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!
ScottDuplicate post
See my answer in your other posting here Re: need help with script -
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
VaniHere 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 -
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 -
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 AMHi
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 -
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.uprnWell, 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. -
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. -
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 advancei 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 PManalytical 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 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 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
-
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
-
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