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'
)