我有下表One
:
id │ value
────┼───────
1 │ a
2 │ b
Two
:
id │ value
─────┼───────
10 │ a
20 │ a
30 │ b
40 │ a
50 │ b
One.value
有一个唯一约束,但不是Two.value
(一对多关系)。
哪个SQL(Postgres)查询将检索作为数组 id
的{{1}},其值与Two
匹配?我要找的结果是:
One.value
答案 0 :(得分:5)
检查 SQL Fiddle
SELECT array_agg(id) AS id, "value"
FROM Two
GROUP BY "value";
使用value
作为标识符(此处为列名)是一种不好的做法,因为它是一个保留关键字。