1
pgsqlに新しいものがありますが、私が探しているのは共通のニーズですが、解決策を見つけることができませんでした。
ユーザーPostgreSQL:配列に集約して結合する
user_id|username|password
-------|--------|--------
1 | guest | blabla
2 | admin | blabla
役割
role_id|name | descr
-------|-----|--------
1 |role1|role one
2 |role2|role two
user_roles
user_id|role_id
-------|-------
2 | 1
2 | 2
:
は、私は3つのテーブルを持っています
が、私はそのすべての役割とともに、ユーザのテーブルを表示したい、私の推測では、(私を修正して自由に感じる)、それを行うための方法は次のようになります。配列に
- グループのユーザーの役割:
select user_id,array_agg(role_id) from user_roles group by user_id where user_id = 2;
- 何とか
array_agg(role_id)
の配列をroles
に結合して役割名を選択します。
ご覧のとおり、#2の操作方法はちょっと混乱しています。これは私が欲しいことをする最善の方法ですか? dbテーブルを構築する方法に何か問題がありますか?
ありがとうございます!
、おかげできれいであってもよいこと 注意! –