回 帖 发 新 帖 刷新版面

主题:新手求救(不知错在哪?)

(2)    检索至少选修了课程号为c01和c02的学生学号
我编写的语句如下:
select distinct Sno
from Reports 
where (Cno='C01' and Cno='C02')
intersect
select distinct Sno
from Reports
where (Cno='C01' and Cno='C02')
执行时报错说明如下:
Server: Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'intersect'.
所建数据库ST中有三张表(Students,Reports,Courses)如下:

回复列表 (共1个回复)

沙发

Intersect
返回两个输入集合的交集,可以选择保留重复项。 

语法
Intersect(《Set1》,《Set2》[, ALL])

注释
此函数返回 《Set1》 和 《Set2》 的交集。根据默认设置,在相交之前先删除两个集合中的重复项。 

可选的 ALL 保留重复项。ALL 有几种工作方式。算法是:不重复的元素照常相交。对于 《Set1》 中的每个重复项,将其与《Set2》中的重复项相匹配,如果存在匹配的项,则在交集中保留匹配的重复项。

示例
Intersect({[1994], [1995], [1996]}, {[1995], [1996], [1997]})

返回集合 {[1995], [1996]}。
-------------------------------------
不知道你的表是怎么设的,也不明白你的语句是什么意思。

我来回复

您尚未登录,请登录后再回复。点此登录或注册