我想找到mydata具有Q值但不至少有一个相应d值的位置。如何使用左连接或右连接来解决?
如果使用连接无法解决,请详细说明原因,因为我没有看到它。
以下是我发现的解决方案,该解决方案适用于所提供的数据。
SELECT distinct tablea.mykey
FROM mytest as tablea
where tablea.mydata = 'Q'
and tablea.mykey not in (select distinct tableb.mykey
FROM mytest as tableb
where tableb.mydata = 'd')
mykey mydata
7 d
5 Q
5 d
5 d
6 Q
6 d
6 a
9 Q
9 a
9 a
答案 0 :(得分:0)
您可以使用外部联接,然后仅选择不匹配
SELECT distinct tablea.mykey
FROM mytest as a
left join mytest as b on a.mykey = b.mykey
and b.mydata = 'd'
where a.mydata = 'Q'
and b.mykey is null