我正在尝试对两个表进行连接查询并包含一个新列,该列实际上是来自另一个表的查询的结果,但是新列是一个数组,也许可以是一个json。为了证明我有这张表:
并且每个条目可以包含多个图:
我知道我可以使用条目ID选择所有情节,但这不是我想要的。我想选择所有条目,以数组形式显示其所有图,以便我可以将它们放在一个漂亮的单个表中:
我不知道到底在哪里看。那么如何将数组作为连接查询的列返回。谢谢!如果这有任何区别,我正在使用PostgreSQL。
答案 0 :(得分:3)
使用array_agg()
:
select e.id, e.entry_name, array_agg(plot_name)
from entry e join
plot p
on e.id = p.entry_id
group by e.id, e.entry_name;