我有客户表、项目表和问题表。
clients cid cname ----------- c1 ca c2 cb c3 cc projects pid pname cid ---------------- p1 pa c1 p2 pb c1 p3 pc c1 p4 pd c2 p5 pe c2 issues iid iname pid ---------------- i1 ia p1 i2 ib p2 i3 ic p4 i4 id p5
我想要那些项目都存在问题的客户。是c2。
如何为此编写 MYSQL 查询?
最佳答案
尝试使用having
子句:
select
c.cid,
c.cname
from clients c
left join projects p
on c.cid = p.cid
left join issues i
on p.pid = i.pid
group by c.cid, c.cname
having count(distinct p.pid) = count(distinct i.pid) and count(distinct p.pid) > 0
检查 SQLFiddle此处演示。
关于mysql - 如何测试所有值是否存在于另一个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055532/