如何写这道题的SQL语句,题目如下:

有张国家表Country,有字段cid(主键),cname,有张产品表Product,有字段pid(主键),pname,有张中间表CP,字段cid,pid;Country... 有张国家表Country,有字段cid(主键),cname,有张产品表Product,有字段pid(主键),pname,有张中间表CP,字段cid,pid;Country和Product以主键关联,
问:
1.出口所有产品的国家有哪些?
2.一种产品都没有出口的国家有哪些?
展开
 我来答
csuxp2008
2009-07-06 · TA获得超过6485个赞
知道大有可为答主
回答量:4704
采纳率:50%
帮助的人:2472万
展开全部
给你个思路
1.把产品表product中的pid字段提取出来,暂定为表1,用表cp除以表1得到的cid字段,那就是出口所有产品的国家的cid,再跟表country联系一下,就能得到这些国家的名字

2.select a.cid
from country a
where a.cid not in (select c.cid
from cp c);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenkaka0578
2009-07-06 · TA获得超过219个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:0
展开全部
sql2005测试结果

1.select * from country
where cid in
(select tba.cid
from
(select
cid ,count(pid) as 'shuliang'
from cp
group by cid) tba,

(select count(*) as 'p_shuliang'
from product) tbb
where tba.shuliang=tbb.p_shuliang)

2.select * from country
where cid in
(
select
tba.cid
from
(select a.cid,a.cname,b.pid
from country a
left join
cp b
on a.cid=b.cid) tba
where tba.pid is null
)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yudeliu
2009-07-06 · TA获得超过110个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:165万
展开全部
1.Select A.Cid From (select cid,count(1) as PCount from CP group by Cid) A,(Select Count(1) as PCount2 from Product group by Pid) B
where a.Pcount=b.Pcount2

2.select * from country where not exists(Select 1 from CP where cp.cid=country.cid)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你我皆凡人0V
2009-07-06 · TA获得超过392个赞
知道小有建树答主
回答量:806
采纳率:0%
帮助的人:650万
展开全部
huzi01245 正解
思路应该是正解的,但是具体SQL语句估计有问题..应该要分组CP来COUNT吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzi01245
2009-07-06 · TA获得超过2.4万个赞
知道大有可为答主
回答量:4963
采纳率:0%
帮助的人:6340万
展开全部
1:select * from country where cid in(select cid from cp where count(cid)=(select count(cip) from Produc) group by cid)
2:select * from country where cid in(select cid from cp where count(cid)=0)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式