Leider unterstützt PostgreSQL den SQL-Standard MULTISET
nicht wirklich Operator, noch verschachtelte Mengen im Allgemeinen. Sie könnten ein ARRAY
erstellen von ROW
Typen wie folgt:
select array[row(1, 2), row(3, 4)]
Und Sie könnten das obige Array sogar entschachteln
select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)
Wenn also ein ARRAY
von ROW
für Sie akzeptabel ist, könnten Sie etwa so schreiben:
select array_agg(row(a, b))
from (
select ...
) t(a, b)
Wenn Sie Ihr eigenes OBJECT
haben Geben Sie PostgreSQL ein, Sie können den anonymen ROW
umwandeln zu Ihrem Typ:
select array_agg(row(a, b)::your_type)
from (
select ...
) t(a, b)