【问题标题】:SQL query to retrieve from three inter related tables从三个相互关联的表中检索的 SQL 查询
【发布时间】:2010-03-10 19:55:57
【问题描述】:

我有三个表指定下面的重要列

  1. 用户(ID、用户名)
  2. Groups(Id, groupname, creator)(创建者是组的创建者)
  3. Association(Id, UserId, GroupId)(此表中的条目包括哪个用户属于哪个组)

Association.UserID =Users.Id、Association.GroupId = Groups.id 以及 Groups.creator = Users.Id。

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

  1. 组名
  2. 组创建者(用户)
  3. 与组关联的用户(此信息在表关联中)

【问题讨论】:

  • 到目前为止您尝试过什么?对于什么数据库,包括版本? GROUPS.creator 对于第 2 列是否足够?以及预期输出的示例?

标签: sql join subquery


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多