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.
| Author |
Topic |
|
baburk
Posting Yak Master
108 Posts |
Posted - 2011-06-08 : 06:03:42
|
| Get the TestId and UserID who not attended the test. DECLARE @Emp TABLE(UserID INT)INSERT INTO @EmpSELECT 1 UNION ALLSELECT 2 UNION ALLSELECT 3 UNION ALLSELECT 4 UNION ALLSELECT 5 UNION ALLSELECT 6 UNION ALLSELECT 7 UNION ALLSELECT 8 UNION ALLSELECT 9 UNION ALLSELECT 10SELECT * FROM @EmpDECLARE @Test TABLE(TestID INT, TestName VARCHAR(50))INSERT INTO @TestSELECT 1, 'Test1' UNION ALLSELECT 2, 'Test2'SELECT * FROM @TestDECLARE @TestStatus TABLE(TestID INT, UserID VARCHAR(50))INSERT INTO @TestStatusSELECT 1, 1 UNION ALLSELECT 1, 3 UNION ALLSELECT 1, 4 UNION ALLSELECT 1, 7 UNION ALLSELECT 1, 8 UNION ALLSELECT 1, 9 UNION ALLSELECT 1, 2 UNION ALLSELECT 2, 3 UNION ALLSELECT 2, 7 UNION ALLSELECT 2, 8SELECT * FROM @TestStatus--This is the final result I need to get--Users not attended the testSELECT 1, 2 UNION ALLSELECT 1, 5 UNION ALLSELECT 1, 6 UNION ALLSELECT 1, 10 UNION ALLSELECT 1, 1 UNION ALLSELECT 2, 4 UNION ALLSELECT 1, 5 UNION ALLSELECT 2, 6 UNION ALLSELECT 2, 9 UNION ALLSELECT 2, 10 |
|
|
sunitabeck
Master Smack Fu Yak Hacker
5155 Posts |
Posted - 2011-06-08 : 07:57:17
|
| [code]SELECT TestID, UserIdFROM @Emp e CROSS JOIN @Test tWHERE NOT EXISTS ( SELECT * FROM @TestStatus ts WHERE ts.TestID = t.TestId AND ts.UserID = e.UserId)[/code] |
 |
|
|
|
|
|
|
|