Thật không may, PostgreSQL không thực sự hỗ trợ chuẩn SQL MULTISET toán tử, cũng không phải các tập hợp lồng nhau nói chung. Bạn có thể tạo một ARRAY trong tổng số ROW loại như thế này:
select array[row(1, 2), row(3, 4)]
Và bạn thậm chí có thể hủy hợp nhất mảng ở trên
select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)
Vì vậy, nếu một ARRAY trong tổng số ROW có thể chấp nhận được đối với bạn, bạn có thể viết một cái gì đó như thế này:
select array_agg(row(a, b))
from (
select ...
) t(a, b)
Nếu bạn có OBJECT của riêng mình nhập PostgreSQL, bạn có thể truyền ROW ẩn danh với loại của bạn:
select array_agg(row(a, b)::your_type)
from (
select ...
) t(a, b)