2013-03-10 3 views
0

enter image description hereJOIN mutiple tables в SQL SERVER

У меня есть выше Логическая ERD. Я в порядке с ним, но я не понимаю, как отобразить правильную информацию.

Например:

Нужно списки групп и членов, принадлежащих к каждой группе. Для каждой группы указывается идентификатор и его имя. Для каждого участника укажите уникальный идентификатор, имя, пол, дату рождения и идентификатор лидера группы.

Хорошо, у нас есть таблица групп и группы участников группы.

SELECT group ID, group name 
FROM group; 


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

Я понимаю, что это не так, я просто не понимаю, как отобразить нужную информацию, я могу себе представить, но не может записать его O_o .... застрял немного

Еще один вопрос , как насчет супервизора, я понимаю, что он проходит (Участник активности) НО, как мне нужно создать таблицу действий с этим супервизором как внешний ключ?

ответ

1

Это то, что вы можете сделать:

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 больше столов и построить свой query, как показано выше.

+0

Только для encase g.groupId = имя таблицы (G) и название раздела (groupId)? –

+0

не понял? –

+0

SELECT GroupTable.GroupId, PersonTable.Gender. это так? –