2013-03-10 44 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