主题:sql查询问题
volte
[专家分:0] 发布于 2005-11-07 21:59:00
sql查询问题
现在我有一个表,
SNO PNO JNO
S1 P1 J1
S1 P2 J3
S2 P2 J1
S3 P3 J1
我想查询至少包含所有S1的PNO也就是(包含P1,P2)
的JNO在这里应该是J1吧。
这个用SQL语句应该怎么写呢?
回复列表 (共15个回复)
沙发
cwb1128 [专家分:3120] 发布于 2005-11-07 22:13:00
有点困难!
板凳
cwb1128 [专家分:3120] 发布于 2005-11-08 13:54:00
select distinct jno from 表 a
where not exists
(select * from 表 b where b.sno='s1' and
not exists
(select * from 表 c where c.jno=a.jno and c.pno=b.pno ))
3 楼
zhangheng77 [专家分:5510] 发布于 2005-11-20 22:50:00
请问为什么不能写成:
select distinct pno from 表 where sno='s1'
我想请问到底至少是什么意思啊?
4 楼
cwb1128 [专家分:3120] 发布于 2005-11-21 18:14:00
楼上的,他不是查询pno,他是查询jno。
5 楼
haiboxyh [专家分:40] 发布于 2005-11-22 10:13:00
select distinct jno from 表 a
where not exists
(select * from 表 b where b.sno='s1' and
not exists
(select * from 表 c where c.jno=a.jno and c.pno=b.pno ))
有点晕!
6 楼
haiboxyh [专家分:40] 发布于 2005-11-22 10:14:00
distinct
什么意思啊?
7 楼
czj779 [专家分:100] 发布于 2005-11-29 18:43:00
distinct:当查询结果里包含许多重复的行,如果想去掉表中重复的行,必须用distinct
形如:select distinct sno
from sc;
8 楼
xlxiaoli [专家分:0] 发布于 2005-11-30 00:49:00
呵呵,朋友,我也来顶!~
虽然我才刚学不久的,你那种题目还不怎么懂!~
所以这次就先不回答案给你,我是个新手! 还希望各位高手多多指教啊!
在下感激不尽!~呵呵!以后我也会有好多问题,不懂的我也放这来!
高手门一定要多指教啊![em12][em12][em12]
9 楼
角逐 [专家分:20] 发布于 2005-12-08 13:12:00
恩,写的不错,我前不久也碰到了一道类似的题目!
10 楼
simplei [专家分:20] 发布于 2006-01-14 23:03:00
关系代数就用除法写。SQL有点麻烦
我来回复