【发布时间】:2019-12-22 13:41:21
【问题描述】:
我是SQL 的新手,我需要帮助编写查询(附照片图)
总结:
IG School 系统要求学生在特定的学习课程中选择 5 个学习科目,则查询结果为:
1) 具有所选主题的已可用组;
或
2) 至少符合 4 个所选主题的组,并且返回不匹配的主题。
表格:
Sessions -----> Like Semesters
Groups -----> Like classes that has schedule
我已经写了一个查询,但是对于只有 4 个匹配主题的可用组没有条件,只返回匹配所有 5 个主题的组(问题),如下所示:
SELECT Group_Subjects.Group_ID, Groups.Name as Groups_Name, Subject_Schedule.ID as Subject_Schedule_ID,Subjects.ID Subjects_ID,
Subjects.Name AS Subjects_Name,Sessions.Name AS Sessions_Name
FROM Groups
INNER JOIN Group_Subjects ON Groups.ID = Group_Subjects.Group_ID
INNER JOIN Subject_Schedule ON Group_Subjects.Subject_Schedule_ID = Subject_Schedule.ID
INNER JOIN Subjects ON Subject_Schedule.Subject_ID = Subjects.ID
INNER JOIN Sessions ON dbo.Groups.Session_ID = dbo.Sessions.ID
where Groups.Session_ID=13 and Subjects.ID in (16,117,125,126,127)
order by Group_Subjects.Group_ID,Subjects_Name
照片图
【问题讨论】:
-
您的问题有点令人困惑。我还没有找到你说你提供的图表。提供更多信息。
-
我没有完全理解你的问题,但我认为是一个关系划分。请参阅右侧的“另见”栏...