残念ながら、PostgreSQLはSQL標準のMULTISET
を実際にはサポートしていません。 演算子、または一般的にネストされたセット。 ARRAY
を作成できます ROW
の このようなタイプ:
select array[row(1, 2), row(3, 4)]
そして、あなたは上記の配列をアンネストすることさえできます
select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)
したがって、ARRAY
ROW
の あなたに受け入れられるなら、あなたはこのような何かを書くことができます:
select array_agg(row(a, b))
from (
select ...
) t(a, b)
独自のOBJECT
がある場合 PostgreSQLと入力すると、匿名のROW
をキャストできます。 あなたのタイプに:
select array_agg(row(a, b)::your_type)
from (
select ...
) t(a, b)