我有两个关系,一个是教师能够教授的区域列表(AreasOfInstructor(InstructorNo,AreaName)
),另一个是返回AreaName
列表的子查询的结果。我希望按AreaOfInstructor
对InstructorNo
关系进行分组,然后返回能够教授子查询返回的所有区域的每个教师(由InstructorNo
表示)。
我的尝试:
SELECT InstructorNo
FROM AreasofInstructor
GROUP BY InstructorNo
/**WHERE THE GROUP CONTAINS* (the list of AreaNames returned by the subquery)*/
我不确定实际的SQL命令是什么,它将实现最后一行星星之间的东西。谢谢你的帮助!
编辑:为了清楚起见,我正在寻找的是那些能够在子查询返回的区域进行教学的教师。
答案 0 :(得分:2)
要执行此操作,您可以加入两个关系,按InstructorNo
分组,然后验证每个AreaName
的{{1}}个独特统计数与InstructorNo
的不同数量相匹配} {s} AreaName
关系。
AreaNames
答案 1 :(得分:1)
最好使用公用表表达式比子查询更具可读性。
检查这是否是您要找的?
WITH Areas (AreaName)
AS
(
*sub-query goes here*
)
SELECT DISTINCT
InstructorNo
FROM
AreasOfInstructor AOI
INNER JOIN
Areas A ON AOI.AreaName = A.AreaName