追記
Orlofsky様
表に誤りがありました、申し訳ないです。
create tableとinsert tableも追記させて頂きます。
1階層目のOYAと3階層めのKOを表示したいというのがやりたい事です。
sql
1CREATE TABLE BOM ( 2 OYA VARCHAR2(20) NOT NULL, 3 KO VARCHAR2(20) NOT NULL, 4 KAZU NUMBER NOT NULL 5); 6 7ALTER TABLE BOM ADD CONSTRAINT BOM_PK PRIMARY KEY (OYA, KO);
sql
1INSERT INTO BOM(OYA, KO, KAZU) VALUES ('A', 'B', 1); 2INSERT INTO BOM(OYA, KO, KAZU) VALUES ('B', 'C', 1); 3INSERT INTO BOM(OYA, KO, KAZU) VALUES ('C', 'D', 1); 4INSERT INTO BOM(OYA, KO, KAZU) VALUES ('AA', 'BB', 1); 5INSERT INTO BOM(OYA, KO, KAZU) VALUES ('BB', 'CC', 1); 6INSERT INTO BOM(OYA, KO, KAZU) VALUES ('CC', 'DD', 1);
環境
Oracle 12 x64
Windows Server 2019 Standard x64
実現したいこと
以下のようなBOMテーブルがあります。
(修正しました)
OYA | KO | KAZU |
---|---|---|
A | B | 1 |
B | C | 1 |
C | D | 1 |
AA | BB | 1 |
BB | CC | 1 |
CC | DD | 1 |
これをこういった表として出力したいのですが、どういったSQLを書けばよいのかわからず質問させて頂きます。
親 | 子 |
---|---|
A | D |
AA | DD |
再帰SQLの書き方をググって試してみたのですが、いまいちピンときませんでした。
Oracleには階層問い合わせというのもあると見たので、そちらでも構いません。
こうやって検索すると良い等のヒントなどでも結構です。何卒よろしくお願いいたします。
あなたの回答
tips
プレビュー