[SQL]不知道1

表结构,companyid是公司名,productid是产品号,说明每个公司生产多少种产品。

companyid   productid  
A                1
A                2 
B                1
B                2 
B                3
C                1 
D                1
D                2 
D                5


要求:取出所有生产的产品包含公司A所生产产品的所有公司名。
例如,公司A生产1,2,那么产品中至少包含1,2(可以更多)的公司名被选出,即A,B,D

求一句实现的sql语句。

方案一

select  a.companyid  
from 你的表 a 
where exists  (select 1 from 你的表 b where b.companyid=A and a.productid =b.productid  )
group by a.companyid 
having count(a.productid)>=2 

方案二

select companyid from T A 
where not exists
(select 1 from T where companyid=A and productid not in 
(select productid from T where companyid = A.companyid))

[SQL]不知道1,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。