दुर्भाग्य से, 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)