【发布时间】:2015-08-30 21:04:50
【问题描述】:
所以我有这个数据:
表'group_info':
identifier name
123 group a
124 group b
表:'group_participants':
id group_id privilege
1 123 admin
2 123 user
3 124 admin
我想获取用户 ID 1 所属的所有组的“用户”或“管理员”人数以及“管理员”人数以及组标识符和名称的。
例如在上述情况下,这将返回 123、“组 a”、2 个用户和 1 个管理员。
我正在尝试在单个查询中执行此操作,但无法获得最后一部分。到目前为止我有这个:
SELECT group_info.identifier, group_info.name
FROM `group_info`
LEFT JOIN group_participants ON group_participants.group_id = group_info.identifier
WHERE group_participants.user_id = 1
我知道这可以在 2 个查询中轻松完成,但我宁愿一次性完成。任何想法如何格式化子查询来实现这一点?
【问题讨论】:
-
也许不要用“用户”这个词来表示两个不同的东西。你只是让我们感到困惑。