我有两张这样的桌子 的表1
Unix | Staffid
_____________________
534 | 65
342 | 34
232 | 232
232 | 34
表2
Staffid | auth
____________________
65 | y
34 | y
78 | n
45 | y
喜欢这个...... 我必须选择那些具有auth y的人员并且不在这个特定的unix上...例如在特定的unix 232我可以选择65而不是34 ...我需要所有unix值。
答案 0 :(得分:0)
SELECT Staffid
FROM table2 AS t2
WHERE auth = 'y'
AND NOT EXISTS
( SELECT *
FROM table1 AS t1
WHERE t1.Staffid = t2.Staffid
AND t1.Unix = 232
)
答案 1 :(得分:0)
我对这个问题的解释略有不同:
SELECT DISTINCT t1.Unix, t2.Staffid
FROM table1 t1, table2 t2
WHERE t2.auth = 'Y'
AND t2.Staffid NOT IN (select Staffid FROM table1 WHERE Unix = t1.Unix)
ORDER BY t1.Unix;