Oracle相当于PostgreSQL的子选择到数组?

时间:2013-04-09 04:00:21

标签: sql oracle11g

在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的数组。

1 个答案:

答案 0 :(得分:1)

您可以使用CURSOR

select c.name, cursor(select order_id from ORDER o where o.customer_id = c.id)
from CUSTOMER c;

然后,您的数据库接口将有一些方法可以从游标结果中获取结果。