2
我有一個表的數據,看起來像這樣:SQL查詢來排除行
ID CODE
1 FOO
1 FOO2
1 FOO3
1 BADCODE
2 FOO
2 FOO2
當我執行此表上我基本上是要打折了包含相同ID,如果所有行的查詢發現錯誤的代碼。所以在上面的例子中,由於在其中一行中發現了一個錯誤代碼,所以沒有ID爲1的內容將被返回。
對不起,如果沒有以最雄辯的方式解釋。有任何想法嗎?
我有一個表的數據,看起來像這樣:SQL查詢來排除行
ID CODE
1 FOO
1 FOO2
1 FOO3
1 BADCODE
2 FOO
2 FOO2
當我執行此表上我基本上是要打折了包含相同ID,如果所有行的查詢發現錯誤的代碼。所以在上面的例子中,由於在其中一行中發現了一個錯誤代碼,所以沒有ID爲1的內容將被返回。
對不起,如果沒有以最雄辯的方式解釋。有任何想法嗎?
SELECT * FROM mytable WHERE id NOT IN (SELECT id FROM mytable WHERE code = 'BADCODE')
SELECT *
FROM mytable mo
WHERE NOT EXISTS
(
SELECT NULL
FROM mytable mi
WHERE mi.id = mo.id
AND mi.code = 'BADCODE'
)