当前位置:  开发笔记 > 后端 > 正文

SQL部门在mysql中使用'not exists'

如何解决《SQL部门在mysql中使用'notexists'》经验,为你挑选了1个好方法。

我有下表:


'committee' table

commname    profname
========================
commA       bill
commA       jack
commA       piper
commB       bill
commB       piper

而且我正在努力寻找那些'吹笛者'所在的每个委员会的教授(答案应该是吹笛手和账单):

我有以下SQL分区查询,但它是错的,我无法弄清楚问题出在哪里(不返回账单,只是piper):


select b.profname
from committee b
where not exists 

(select commname
from committee a
where profname = 'piper' and not exists 

(select commname
from committee
where a.profname=b.profname ))

有人可以帮我这个吗?谢谢,



1> ysth..:

你的内心选择在where子句中没有使用任何东西,所以它总是为piper找到一些东西.尝试

select distinct b.profname from committee b
where not exists (
    select commname from committee a
    where a.profname = 'piper' and not exists  (
        select commname from committee c
        where c.profname=b.profname and c.commname=a.commname
    )
);

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有