1

Oracle 中是否有等效的方法可以从子选择中获取数组,所以如果子选择的结果中有不止一行,最终结果中仍然只有一行?

例如:

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

每个客户只会返回一行,其中每个返回行中的第二个值是 order_id 的数组。

4

1 回答 1

1

您可以使用CURSOR

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

然后,您的数据库接口将有某种方式从游标结果中获取结果。

于 2013-04-09T04:46:38.093 回答