我有三个表:如何加入SQL Server中的三个表
- 章(ChapterNo,DESC)
- 课(LessonNO,十二月,ChapterNo)
- 案例(CaseNo,说明,LessonNo)
正如你所看到的,三个表都是连接的。我想要的是返回所有章节(即使没有课程),所有课程(甚至没有案例)和所有案例。
我很遗憾地说,但我真的没有想法,所以我没有示例代码。我希望我的解释就够了。
我有三个表:如何加入SQL Server中的三个表
正如你所看到的,三个表都是连接的。我想要的是返回所有章节(即使没有课程),所有课程(甚至没有案例)和所有案例。
我很遗憾地说,但我真的没有想法,所以我没有示例代码。我希望我的解释就够了。
使用LEFT JOIN:
SELECT
C.*,
L.*,
CA.*
FROM Chapter C
LEFT JOIN Lesson L ON C.ChapterNo=L.ChapterNo
LEFT JOIN Case CA ON L.LessonNo=CA.LessonNo
使用左连接的查询,以获得您想要的结果
至于表的命名。不要使用Case
作为表名,因为它是SQL的保留字。
SELECT CH.ChapterNo,CH.Desc,LE.LessonNo,LE.Dec,CA.CaseNo,CA.Desc FROM Chapter CH LEFT JOIN Lesson LE ON CH.ChapterNo = LE.ChapterNo LEFT JOIN Cases CA ON LE.LessonNo = CA.LessonNO
SELECT *
FROM Chapter C
LEFT JOIN Lesson L ON C.ChapterNo=L.ChapterNo
LEFT JOIN Case CA ON L.LessonNo=CA.LessonNo
Select * From Chapter c
Left Join Lesson l On c.ChapterNo=l.ChapterNo
Left Join Case cs On cs.LessonNo=l. LessonNo
使用左加入了三桌 –
的Sandip的查询会帮助你,但我劝你告诉你的老师,你仍与SQL的基本概念上的挣扎。如果你很难弄清楚这一点,那么在后面的路上会很糟糕。 – Jens