我有一个查询,在该查询中,我连接了两次同一个表,即:
left join tag tag1 [...]
left join tag tag2 [...]
我想用一个名为tag
的列进行查询,在这两个表(tag1
,tag2
(中,它将具有唯一的值。
示例:
目前,我可以使用jsonb_agg(distinct tag_name)
从每一列中选择唯一的值,并且在我的查询中有两列:
tag1 | tag2
[Sport, Music] | [Sport, Games]
我希望有一列具有来自tag1
和tag2
的唯一值,如:
tag
[Sport, Music, Games]
如果tag1和tag2是两个具有相同列tag_name的表,则可以使用UNION
合并两个表中的值,同时避免重复:
SELECT jsonb_agg(r.tag_name)
FROM
(
SELECT tag_name
FROM tag1
UNION
SELECT tag_name
FROM tag2
) AS r