我有两张桌子。第一个包含基本上具有ClassID和ClassName的类列表。第二个保存学生使用ClassID和PupilID参加的课程列表(PupilID指的是第三个表格)。
是否可以为给定的学生返回所有课程的列表,无论是否出勤,但是使用MS SQL查询指示他们参加的课程。我已经阅读了有关SQL CASE和IF的内容,甚至还有关于在查询中创建和分配变量的内容,但没有一个示例表明有多个表。
之类的东西 -
|ClassName | Attended
| 1 | 0
| 2 | 0
| 3 | 1
| 4 | 0
答案 0 :(得分:3)
试试这个 - 向Degan道歉,窃取你的例子并更改它。
SELECT t.ID,
t.Class_ID,
t.Pupil_ID,
c.Class_ID AS Expr1,
c.Class_Name,
c.Class_Day,
c.Class_OrderView
FROM Classes AS c
LEFT OUTER JOIN timetable as t
ON (c.Class_ID = t.Class_ID) AND (t.Pupil_ID = MyPupil)
答案 1 :(得分:0)
听起来像是家庭作业。尝试在文档中查找LEFT OUTER JOIN。
答案 2 :(得分:0)
也许是一个计数()出席?
答案 3 :(得分:0)
SELECT t.ID,
t.Class_ID,
t.Pupil_ID,
c.Class_ID AS Expr1,
c.Class_Name,
c.Class_Day,
c.Class_OrderView
FROM timetable AS t
LEFT OUTER JOIN classes as c
ON (t.Class_ID = c.Class_ID) AND (t.Pupil_ID = MyPupil)
问题是在做JOIN时麻烦的WHERE