2013-03-10 46 views
0

enter image description here在SQL SERVER中JOIN多個表格

我喜歡上面的邏輯ERD。我很好,但我不明白如何顯示正確的信息。例如:

需要列出組和屬於每個組的成員。爲每個組顯示ID和它的名字。對於每個成員,顯示其組長的唯一標識符,姓名,性別,出生日期和標識符。

好的,我們有組表和組成員表。

SELECT group ID, group name 
FROM group; 


SELECT member ID, name, gender, D.O.B, Leader ID 
From group member; 

我明白,這是錯誤的,我只是不知道如何顯示正確的信息,我能想象,但不能把它寫下來O_O ....卡住了一下

一個問題,主管怎麼樣,我知道它通過(活動參與者),但我該如何創建這個主管的活動表作爲外鍵?

回答

1

這是你可以做什麼:你query如上圖所示

SELECT 
     P.Name, 
     P.DOB, 
     P.Gender, 
     G.GroupName, 
     GL.PersonId 
FROM Person P 
INNER JOIN GroupMember GM ON GM.PersonId = P.PersonId 
INNER JOIN Group G ON G.GroupId = P.GroupId 
INNER JOIN GroupLeader GL ON GL.GroupId = G.GroupId 

您可以JOIN多個表和建設。

+0

只爲表中的部分(的groupId)的(G)和名稱的包住g.groupId =名字? – 2013-03-10 14:01:55

+0

沒有得到你? – 2013-03-10 14:03:34

+0

SELECT GroupTable.GroupId,PersonTable.Gender。這是這樣嗎? – 2013-03-10 14:05:27