1
使用簡單的表/字段名稱爲簡單起見:SQL Server查詢,不能使用子查詢
SELECT A.a
FROM A LEFT JOIN B ON A.a = B.a
WHERE B.a IS NULL
AND B.a NOT IN (
SELECT B.a FROM B WHERE B.b = 'literal'
)
它應該從表A
返回行,其中a
字段不表B
中存在B.b
等於特定值(將作爲參數傳遞)的那些行。
A.a
-------
1
2
3
B.a B.b
----- -----
1 'literal'
1 'abc'
2 'def'
考慮到數據,查詢應該返回:
A.a
------
2
3
我真的不知道我可以從你的答案會發生什麼結果,我嘗試了,我得到0行返回。我添加了一個例子,希望它有助於澄清所需的結果。 – Ozzyberto 2013-03-08 01:13:34
哦,我沒有注意到這個鏈接,我查了一下,看起來是對的。我的執行過程中一定有什麼問題。我會做更多的測試。 – Ozzyberto 2013-03-08 01:14:32
@Ozzyberto請考慮接受答案,如果它幫助你。 – 2013-03-08 06:40:21