I have a Table Call Referrals like this
EmpId Cl_Date RefrlNo OptNo
1 NULL 2565 2222
1 01/01/2007 2565 2223
2 01/02/2007 2567 2230
3 01/02/2007 2568 2231
3 01/03/2007 2568 2232
4 NULL 2569 2245
4 NULL 2570 2246
From this table i need to get the Emp Id, Cl_date RefrlNO,OptNo
where EmpId must have repeated more than one time as well as it must have at least one Cl_Date + at least one NULL Cl_Date
after all these requirement satisfy , i need to pick again a row data where Cl_Date Is null ?
So the out put should be like this
EmpId Cl_Date RefrlNo OptNo
1 NULL 2565 2222
how do i do this task ?
any idea ?
regards
suis
Code Snippet
createtable Referrals
(
EmpId int,
Cl_Date datetime,
RefrlNo int,
OptNo int
)
GO
insertinto Referrals values(1,NULL, 2565, 2222)
insertinto Referrals values(1,'01/01/2007', 2565, 2223)
insertinto Referrals values(2,'01/02/2007', 2567, 2230)
insertinto Referrals values(3,'01/02/2007', 2568, 2231)
insertinto Referrals values(3,'01/03/2007', 2568, 2232)
insertinto Referrals values(4,NULL,2569,2245)
insertinto Referrals values(4,NULL,2570,2246)
SELECT EmpId, Cl_date, RefrlNo, OptNo FROM Referrals
WHERE
EmpID IN(select EmpId from Referrals where Cl_date isNULL)
AND
EmpID IN(select EmpId from Referrals where Cl_date isNOTNULL)
AND
Cl_date ISNULL
If for EmpId we have line where Cl_date is NULL (see first IN clause) and line where Cl_Date is not NULL (see second IN clause), its that we have at least two lines with same EmpID
No comments:
Post a Comment