首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这样的SQL如何写呢

2012-02-16 
这样的SQL怎么写呢?我有两张表tblClass_Student和tblGroup_Student其中tblClass_Student有两个列ClassID,S

这样的SQL怎么写呢?
我有两张表tblClass_Student和tblGroup_Student
其中tblClass_Student有两个列ClassID,StudentID; 
tblGroup_Student有两个列GroupID,StudentID

我现在想知道那些ClassID包含了所有GroupID=1的学生。

谢谢

[解决办法]

SQL code
SELECT     DISTINCT ClassIDFROM tblClass_Student AS a    INNER JOIN tblGroup_Student AS b ON a.StudentID=b.StudentIDWHERE b.GroupID=1
[解决办法]
上一种方法效率高

再舉一方法
SQL code
Select  [ClassID]from tblClass_Student AS aWHERE  EXISTS(SELECT 1 FROM tblGroup_Student  WHERE [GroupID]=1 AND [StudentID]=a.[StudentID]) GROUP BY [ClassID]HAVING COUNT([StudentID])=(SELECT COUNT([StudentID]) FROM tblGroup_Student WHERE [GroupID]=1)
[解决办法]
Select [ClassID]
from tblClass_Student AS a
WHERE EXISTS(SELECT 1 FROM tblGroup_Student WHERE [GroupID]=1 AND [StudentID]=a.[StudentID]) 
GROUP BY [ClassID]
HAVING COUNT([StudentID])=(SELECT COUNT([StudentID]) FROM tblGroup_Student WHERE [GroupID]=1)
同意楼上

热点排行