by SpoonySonny 5/10/2008 10:12:00 AM

问题:

有四个表
供应商表S(sno,sname,city)
零件表P(pno,pname,color,weight)
工程项目表J(jno,jname,city)
供应情况表SPJ(sno,pno,jno,qty)
有一题是这样的:
求至少用了s1供应商所供应的全部零件的工程号jno 

 

解答:

设有
表X (A,B,C,D)
表Y (C,D)--C,D列必须与X表的C,D列在相同的域上定义
那么表X除表Y的结果集为

select distinct A,B
from X
join Y on Y.C = X.C and Y.D = X.D

或者

select distinct A,B
from X
where exists(select 1 from Y where Y.C = X.C and Y.D = X.D) 

SELECT jno
FROM J a
WHERE NOT EXISTS(
       
SELECT 1
       
FROM SPJ b
       
WHERE sno = s1

AND a.jno = b.jno
           
AND NOT EXISTS(
               
SELECT 1
               
FROM J c
               
WHERE c.jno = b.jno 
            )
           
    )

[/code]

Currently rated 3.0 by 1 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

学习笔记

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

7/24/2008 4:08:35 AM

Copyright © BlogYi.NET | Powered by BlogYi.NET ver:1.5.0.0. Original Powered by BlogEngine.NET. |
本博博主

日历
<<  July 2008  >>
MonTueWedThuFriSatSun
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

分类

Archive

公告栏

    Recent posts

    Recent comments

    链接

    虚位以待
    说明与声明
    这个博客归属于博易官方,我们希望有更多的研习博易开发技术、页面设计的朋友加入进来,一起丰富、完善“自言自语”
    本博所有网友评论不代表本博立场,版权归其作者所有。

    登录