我有以下表格:
User_Group
id group_id group_type
------------------------
1 100 A
1 100 B
2 101 B
2 102 A
Group_A
id name
---------
100 A
101 B
102 C
Group_B
id name
---------
100 D
101 E
102 F
我想要所有用户的组名(使用array.agg()
)。如果用户的组类型 = A,我们必须从组 A 中获取组名,如果用户的组类型 = B,我们必须从组 B 中获取组名。结果应该是:
userid groups
--------------
1 A,D
2 E,C
我为此创建了一个小提琴,并给出了一个使用 2 个单独查询联合的解决方案。可以在没有联合的情况下完成吗,我可以在其中决定从哪个表中选择组名,只需加入user_groups
,group_A
和group_B
?