我试图从用户表中查询一个用户,同时从用户角色表中获取一个用户角色列表。这是我的模式:
user
---------------------
|uuid | username |
---------------------
|xxx-xx-x| Joe |
---------------------
user_role
----------------------
|user_uuid| role_uuid |
----------------------
|xxx-xx-x | yyy-yy-y |
----------------------
|xxx-xx-x | zzz-zz-z |
----------------------
role
----------------------
|role_uuid| name |
----------------------
|yyy-yy-y | Moderator |
----------------------
|zzz-zz-z | Tester |
----------------------
以下是我当前只获取用户信息的查询:
SELECT u.uuid, u.username FROM user AS u WHERE u.uuid = ($1)
如何修改它以获得用户拥有的角色列表(数组)?我希望能在一个查询中完成。
1条答案
按热度按时间disbfnqx1#
一种选择是在横向联接中聚合:
笔记:
标量参数周围不需要括号
user
是sql关键字,因此不是表名的好选择-我将其重命名为users
在查询中