SQL-запрос для извлечения из трех взаимосвязанных таблиц - PullRequest
0 голосов
/ 10 марта 2010

У меня есть три таблицы, в которых указаны важные столбцы ниже

  1. Пользователи (Id, имя пользователя)
  2. Группы (Id, groupname, создатель) (создатель является создателем группы)
  3. Ассоциация (Id, UserId, GroupId) (записи в этой таблице включают, какой пользователь в какую группу входит)

Association.UserID = Users.Id, Association.GroupId = Groups.id, а также Groups.creator = Users.Id.

Что мне нужно, это как минимум три столбца, отображающие все данные

  1. Название группы
  2. Group Creator (пользователь)
  3. Связанный пользователь с группой (эта информация находится в табличной ассоциации)

1 Ответ

2 голосов
/ 10 марта 2010
SELECT G.GroupName, U1.UserName AS GroupCreator U2.UserName AS GroupMember
FROM Groups AS G
INNER JOIN Users AS U1
    ON G.Creator = U1.ID
LEFT JOIN Association AS A
    ON A.GroupID = G.ID
LEFT JOIN Users AS U2
    ON U2.ID = A.UserID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...