注册 登录
编程论坛 SQL Server论坛

关于数据选择的问题(紧急求救)

cryp 发布于 2008-11-24 19:04, 1111 次点击
我有两张表,比如我的A表中放的是所有的课程,B表中是放的某学生已经选择的课程,那么我如何把该学生没有选择的课选择出来,并放到一个下拉列表中去呢。因为刚刚接触SQL,所以我自己试了很多种思路都不行。

[[it] 本帖最后由 cryp 于 2008-11-24 20:54 编辑 [/it]]
7 回复
#2
小仙2008-11-24 21:01
方法有很多,可以用查询的方法来做。
也可以用not in
你不给出具体的表,我也无法给出具体的T-SQL。
#3
cryp2008-11-25 12:22
哦,对我忘记给具体的表了,C(cno,cname),SC(sno,cno,score)
就是选出在C表中,但是没有在SC表中的cno
#4
a678967112008-11-25 14:01
select cno
from
(select * from c left join sc  on  ) as tt
where score is null

我的思路是用左外连接产生表,取表里面成绩为null的课程编号,我也许写的代码不完善,希望高手补上。我也学习下
#5
cryp2008-11-25 19:34
回复 第4楼 a67896711 的帖子
兄台,我要得不是成绩为空啊,我要的是cno,在C表中存在,但是在SC表中不存在的。
#6
cryp2008-11-25 19:36
自己解决了,呵呵
代码是:
select cno from c  
   where (select cno from sc);
#7
happynight2008-11-26 11:32
另外再提供几种解决办法给你参考下
select cno from c  
   where NOT IN (select cno from sc);

select from c LEFT JOIN  sc ON
where IS NULL
#8
gdy03492008-11-26 17:56
not exists 要好点,数据量大时,速度快很多
1