在Oracle中是否存在从子选择中获取数组的等价物,因此如果子选择的结果中有多行,则最终结果中仍然只有一行?
e.g:
select c.name, array(select order_id from ORDER o where o.customer_id = c.id)
from CUSTOMER c;
每个CUSTOMER只返回一行,其中每个返回行中的第二个值是order_id的数组。
答案 0 :(得分:1)
您可以使用CURSOR:
select c.name, cursor(select order_id from ORDER o where o.customer_id = c.id)
from CUSTOMER c;
然后,您的数据库接口将有一些方法可以从游标结果中获取结果。