サブセレクトから配列を取得するのに相当するものが Oracle にあるので、サブセレクトの結果に複数の行がある場合でも、最終結果には 1 行しかありませんか?
例えば:
select c.name, array(select order_id from ORDER o where o.customer_id = c.id)
from CUSTOMER c;
CUSTOMER ごとに 1 つの行のみを返します。返される各行の 2 番目の値は order_id の配列です。
CURSORを使用できます。
select c.name, cursor(select order_id from ORDER o where o.customer_id = c.id)
from CUSTOMER c;
次に、データベース インターフェイスには、カーソルの結果から結果を取得する何らかの方法があります。