我有三個表:如何加入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