Bohužel PostgreSQL ve skutečnosti nepodporuje SQL standard MULTISET
operátor ani vnořené množiny obecně. Můžete vytvořit ARRAY
z ROW
typu:
select array[row(1, 2), row(3, 4)]
A dokonce byste mohli rozpojit výše uvedené pole
select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)
Pokud tedy ARRAY
z ROW
je pro vás přijatelné, můžete napsat něco takového:
select array_agg(row(a, b))
from (
select ...
) t(a, b)
Pokud máte svůj vlastní OBJECT
zadejte do PostgreSQL, můžete přetypovat anonymní ROW
k vašemu typu:
select array_agg(row(a, b)::your_type)
from (
select ...
) t(a, b)