从三个相互关联的表中检索的SQL查询

时间:2010-03-10 19:55:58

标签: sql join subquery

我有三个表格,用于指定

下面的重要列
  1. 用户(身份证,用户名)
  2. 群组(ID,群组名称,创建者)(创建者是群组的创建者)
  3. 关联(Id,UserId,GroupId)(此表中的条目包括哪个用户在哪个组中)
  4. Association.UserID = Users.Id,Association.GroupId = Groups.id以及Groups.creator = Users.Id。

    我需要的是显示所有数据的至少三列

    1. 群组名称
    2. 群组制作者(用户)
    3. 关联用户与该组(此信息在表关联中)

1 个答案:

答案 0 :(得分:2)

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