Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 Extract from table (insert table provided)

Author  Topic 

Dani_87
Starting Member

14 Posts

Posted - 2012-05-08 : 09:22:18
I would like to get the ID with a specific criteria only
1. IDs who ONLY have have STATUS as LOST and TAKEN_DTE as NULL in YEAR 2010/2011
The ID can have Status as TAKEN prior to YEAR 2010 but first must satisfy the above criteria.

CREATE TABLE CHLOE_C (
ID varchar(8),
YEAR varchar(8),
STATE varchar(8),
TAKEN_DTE varchar(8),
STATUS varchar(8));

INSERT ALL
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('80730', '2006', '602','13/MAR/2006','TAKEN')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('80730', '2010', '705','12/MAR/2010','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('6321', '2012', '1203','13/MAR/2012','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('6321', '2012', '1209','13/MAR/2012','TAKEN')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('75454', '2010', '1015','','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('75454', '2011', '602','13/MAR/2011','TAKEN')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('100', '2010', '6102','','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('100', '2009', '6152','13/MAR/2009','TAKEN')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('100', '2006', '61152','13/MAR/2006','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('99', '2009', '5402','','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('99', '2010', '6102','13/MAR/2010','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('88', '2011', '6102','','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('88', '2010', '6102','','LOST')
INTO chloe_c (ID,YEAR,STATE,TAKEN_DTE,STATUS) VALUES ('88', '2009', '6102','13/MAR/2010','TAKEN')
SELECT * FROM dual;

SO
ID 88 YES because it saisfies the criteria it has NULL in TAKEN_DTE and STATUS as LOST for both years
ID 99 NO it satisfies the STATUS but it has a TAKEN_DTE in YEAR 2010
ID 100 YES it has STATUS as LOST and YEAR 2010 (TAKEN STATUS is prior 2010 so its ok)
ID 6321 NO YEAR IS 2012 (WANT NOTHING FROM 2012)
ID 75454 NO STATUS is LOST for 2010 which is what we want but it also has TAKEN in 2011 which we dont want
ID 80730 NO even though STATUS is LOST TAKEN_DTE is not NULL

ID 
88
100

sunitabeck
Master Smack Fu Yak Hacker

5155 Posts

Posted - 2012-05-08 : 11:06:06
Are you using Oracle? This forum specializes in Microsoft SQL Server. You would get faster and more accurate responses to Oracle questions in an Oracle-specific forum or a more generalized forum such as dbforums.com
Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2012-05-08 : 11:06:50
This is definitely not t-sql as INSERT ALL is not t-sql syntax.

------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page
   

- Advertisement -