Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

学生名单

不明人  发表于:2010-09-08 11:48:36  
复制

现有2个关于学生报读课程之表格,1个表格是课程A,另一个是表格课程B,请问如何以SQL找出只报读了课程A而没有报读课程B之学生名单,谢谢!!

 

Top
煮江品茶 发表于:2010-09-08 11:56:21

将这两个表用学生姓名(如果有学生ID最好用学生ID)连接起来做一个查询,把学生姓名、课程A、课程B拖入到查询中,在课程A的条件中写not is null,同时在课程B的条件中写is null。关闭该查询的设计视图,再点开该查询就是你要的数据了。



冰花雪虹 发表于:2010-09-08 13:38:35
学习了,呵呵。

不明人 发表于:2010-09-08 16:49:24

如何查询COURSE A表格中,没有报读COURSE B CStudent id之名单,谢谢!!



不明人 发表于:2010-09-08 16:49:57

如何查询COURSE A表格中,没有报读COURSE B CStudent id之名单,谢谢!!

点击下载此附件

煮江品茶 发表于:2010-09-08 21:03:00

course BC表中有矛盾,学生ID重复了很多记录。

 

SELECT courseA.[stduent ID], courseA.[course A], [course BC].[course B], [course BC].[course C]
FROM [course BC] INNER JOIN courseA ON [course BC].[student ID] = courseA.[stduent ID]
WHERE ((([course BC].[course B])=0)) OR ((([course BC].[course C])=0));



不明人 发表于:2010-09-09 10:52:35

首先谢谢你的回复,但你提供的SQL并不能得到我想要的结果,我想要的是在表格COURSE A中的STUDENT ID中,没有在表格courseBC出现的STUDENT ID,而你提供的却是在表格COURSE A中的STUDENT ID中,有在表格courseBC出现的STUDENT ID,谢谢。

另外,COURSE BC出现重复的STUDENT ID是由于该人重复报读有关课程。



不明人 发表于:2010-09-09 11:51:33

现将问题简单化,请问如何以SQL找出没有报读課程之学生名称,谢谢

点击下载此附件

王一 发表于:2010-09-09 12:48:53

你是不是想要这种开展呀!

点击下载此附件

不明人 发表于:2010-09-09 14:38:07

我想要的是STDUENT表格中没有报读任何课程之学生名单,而答案应有10个记录,就是STUDENT ID 1120,请问有谁能帮我,谢谢!!



煮江品茶 发表于:2010-09-09 15:01:59

你好像数错了吧?应该是11个,FEBRUARY同学也什么都没报。

 

SELECT STUDENT.[STUDENT ID], STUDENT.NAME, STUDENT.[BIRTH DAY]
FROM STUDENT
WHERE (((STUDENT.[STUDENT ID]) Not In (SELECT [student ID] FROM [course ABC] GROUP BY [student ID])));

 


 

点击下载此附件

不明人 发表于:2010-09-09 15:08:38

有問有答才對,所以我只想從心底說一聲,謝謝!!煮江品茶,你的答案就是最佳答案。总版主果然不同!!



总记录:11篇  页次:1/1 9 1 :