我正在做一个个人项目。 我有以下数据
tbl A
id,等等,等等
tbl B
id,id_2
tbl C
id_2,结果
如果tbl A中的id存在于tbl B中,并且Pass ='A',我要检查以下内容。
我可以编写一个查询来检查A中的键是否存在于B中。
SELECT * FROM tblA as a
WHERE NOT EXISTS (
SELECT * FROM tblB as b
WHERE a.id = b.id)
这很好用。
我还可以使用INNER JOIN来写一些东西
SELECT *
FROM tabC
INNER JOIN tblB ON tblC.id2 = tblB.id2
INNER JOIN tblA ON tblB.id = tblA.id
WHERE Result = 'A' GROUP BY id
但是我似乎无法弄清楚如何将这两个查询组合在一起。
答案 0 :(得分:1)
您可以尝试以下操作
SELECT c.*
FROM tabC c
INNER JOIN tblB b ON c.id2 = b.id2
INNER JOIN tblA a ON b.id = a.id
WHERE Result = 'A'
and NOT EXISTS (
SELECT 1 FROM tblB as b1
WHERE a.id = b1.id)