我有下表一个
:
id │ value
────┼───────
1 │ a
2 │ b
和两个
:
id │ value
─────┼───────
10 │ a
20 │ a
30 │ b
40 │ a
50 │ b
One.value
具有唯一约束,但 Two.value
没有(一对多关系)。
哪个 SQL (Postgres) 查询将检索 作为数组 Two
的 id
其值匹配 One.value
?我正在寻找的结果是:
id │ value
─────────────┼───────
{10,20,40} │ a
{30,50} │ b
最佳答案
检查 SQL Fiddle
SELECT array_agg(id) AS id, "value"
FROM Two
GROUP BY "value";
使用 value
作为标识符(此处为列名)是一种不好的做法,因为它是保留关键字。
关于sql - 如何将多个重复行转换为 SQL (Postgres) 中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26471129/