我有这组表:
用户表:
id username
1 user
组表:
id name
1 g1
2 g2
用户组表:
user_id group_id
1 1
1 2
我想得到这个结果:
id username user_groups
1 user g1,g2
我发现使用string_agg可以解决问题,它在 postgres 控制台上解决了,但是当我在 php 上使用相同的查询时,我收到了这条消息
SQLSTATE[HY000]: General error: 1 no such function: string_agg
这是我的查询:
select users.id, users.username, string_agg(groups.name, ', ')
from users
inner join users_groups on users.id = users_groups.user_id
inner join groups on groups.id = users_groups.group_id
group by users.id
顺便说一句,我正在使用:
- postgresql-9.3
- php 5.6.0
- 阿帕奇 2
- Windows 7的
- 拉拉维尔 5.0