2016-10-28 42 views
0

我有三個表:如何加入SQL Server中的三個表

  • 章(ChapterNo,DESC)
  • 課(LessonNO,十二月,ChapterNo)
  • 案例(CaseNo,說明,LessonNo)

正如你所看到的,三個表都是連接的。我想要的是返回所有章節(即使沒有課程),所有課程(甚至沒有案例)和所有案例。

我很遺憾地說,但我真的沒有想法,所以我沒有示例代碼。我希望我的解釋就夠了。

+2

使用左加入了三桌 –

+2

的Sandip的查詢會幫助你,但我勸你告訴你的老師,你仍與SQL的基本概念上的掙扎。如果你很難弄清楚這一點,那麼在後面的路上會很糟糕。 – Jens

回答

3

使用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 
1

使用左連接的查詢,以獲得您想要的結果

至於表的命名。不要使用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

1
SELECT * 
FROM Chapter C 
LEFT JOIN Lesson L ON C.ChapterNo=L.ChapterNo 
LEFT JOIN Case CA ON L.LessonNo=CA.LessonNo 
1
Select * From Chapter c 
    Left Join Lesson l On c.ChapterNo=l.ChapterNo 
    Left Join Case cs On cs.LessonNo=l. LessonNo