首页 > 数据库技术 > 详细

[SQL]不知道1

时间:2014-03-25 08:25:28      阅读:521      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
表结构,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语句。
bubuko.com,布布扣

方案一

bubuko.com,布布扣
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 
bubuko.com,布布扣

方案二

bubuko.com,布布扣
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))
bubuko.com,布布扣

[SQL]不知道1,布布扣,bubuko.com

[SQL]不知道1

原文:http://www.cnblogs.com/beeone/p/3622296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!