選択を階層型ユーザタイプに直接行うことはできますか?階層型ユーザタイプに直接選択
このようなテーブル構造を想像:私は、今
select * from parent p inner join child c on p.id = c.parent_id;
:
create or replace type child_item as object
(
ID NUMBER(10),
NAME VARCHAR(255)
);
create or replace type children_table as table of child_item;
create or replace type parent_item as object
(
ID NUMBER(10),
NAME VARCHAR(255),
CHILDREN CHILDREN_TABLE
);
create or replace type parent_table as table of parent_item;
そして、このようなステートメント:また、私はこのようなユーザータイプを持っている
PARENT
------
ID
NAME
CHILD
-----
ID
PARENT_ID
NAME
をそのステートメントの結果をタイプparent_table
のオブジェクトに入れたい。これは複雑なFOR
ループを使用しなければ何とか可能ですか?
あなたの答えをありがとう。 「親」には3つの項目があり、それぞれに「子供」には3つの関連項目があります。 3つの 'child_item'をそれぞれ3つ' parent_item'sを返すか、これはそれぞれ9 'parent_item'sと1つの' child_item'を返しますか?質問のサンプルクエリの結果は9行になるため、私は尋ねています。 –
私自身の質問に答えるには、それぞれ3人の子供がいる3人の親を返します。 –
ニースの答え - この質問に対する私の即時の反応はできないということでしたが、幸いにも私は訂正し、今日何かを学んでいます。 –