我有一个查询,我目前从2个表中获取信息:
SELECT g.name
FROM site_access b
JOIN groups g
ON b.group_id = g.id
WHERE b.site_id = 1
ORDER BY g.status ASC
现在我想要另一个包含此查询的表,但是这一个表会返回多于1行吗?
我所能做的只是从该表中拉出1行,我想要的字段是一个字符串字段,只要所有匹配都可以在此查询中拉到一起,就可以将结果与分隔符连接起来。
如果您需要有关表格的更多信息或任何事情,请随意说我不认为这是必需的,因为这主要是如何从连接/选择查询中提取多行的示例。
更新上述查询的结果:
Admin
Member
Banned
现在使用我的第3个表,每个访问都有允许使用的命令,因此第3个表将列出每个人可以访问的命令,例如:
Admin - add, del, announce
Member - find
Banned - none
UPDATE2:
site_access
site_id
group_id
基
id
name
status
groups_commands
group_id
command_id
命令
id
name
答案 0 :(得分:2)
SELECT g.name, GROUP_CONCAT(c.command) AS commands
FROM site_access b
JOIN groups g
ON b.group_id = g.id
JOIN groups_commands gc
ON g.id = gc.group_id
JOIN commands c
ON gc.command_id = c.id
WHERE b.site_id = 1
GROUP BY g.name
ORDER BY g.status ASC