mysql 范围 不存在的,在MySQL中使用'不存在'的SQL分区

I have the following table:

'committee' table

commname profname

========================

commA bill

commA jack

commA piper

commB bill

commB piper

and I am trying to find the professors who are in every committee that 'piper' is in

(answer should be piper and bill):

I have the following SQL division query but it's wrong and I can't figure out where the problem is (doesn't return bill, just 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 ))

Can somebody help me with this one?

Thanks,

解决方案

Your innermost select isn't using anything from itself in its where clause, so it's always finding something for piper. Try

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

)

);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值