你能在一个列中返回一个表(或子查询)吗?
这在将结果转换为JSON时非常有用。
例如:
select orderid, date,
(select itemdescription, price, quantity
from orderitems
where orderid = orders.orderid) as orderitems
from orders
答案 0 :(得分:1)
SQL中最接近的可能是ROW MULTISET类型的列,可以使用(a.o.)COLLECT和FUSION运算符构建/填充。
自2003年以来,这个特性已经在SQL标准中引入(不确定),但是实际的SQL产品实现这一点的可能性极小。 (虽然我模糊地记得我曾经在其他地方之前说过这一点,并且在一小时内有人用Oracle的一个例子回复了这样的查询。)
我的来源是Hugh Darwen的免费bookboon书“SQL:比较调查”。如果你提出这种“高级SQL”问题,你可能会发现这个问题特别有趣。