【发布时间】:2011-06-24 19:43:18
【问题描述】:
我有一个查询,我目前从以下 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
现在在我的第三张表中,每个访问权限都有允许使用的命令,因此第三张表将列出每个人可以访问的命令,例如:
Admin - add, del, announce
Member - find
Banned - none
更新2:
-
site_access
site_id group_id -
组
id name status -
groups_commands
group_id command_id -
命令
id name
【问题讨论】:
-
您是说要将新加入的表concatenated 返回的所有列值放在一行中吗?
-
@Joe Stefanelli 是否需要连接我想知道是否可以从上述查询中的第三个连接表中检索所有行。仅上面的查询就会给我 8 行,这 8 行中的每一行都会有来自表中第三个连接的 X 行