残念ながら、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)