質問編集履歴
1
SQL文を追記、表を修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,23 +1,48 @@
|
|
1
|
+
**追記**
|
2
|
+
Orlofsky様
|
3
|
+
表に誤りがありました、申し訳ないです。
|
4
|
+
create tableとinsert tableも追記させて頂きます。
|
5
|
+
1階層目のOYAと3階層めのKOを表示したいというのがやりたい事です。
|
6
|
+
|
7
|
+
```sql
|
8
|
+
CREATE TABLE BOM (
|
9
|
+
OYA VARCHAR2(20) NOT NULL,
|
10
|
+
KO VARCHAR2(20) NOT NULL,
|
11
|
+
KAZU NUMBER NOT NULL
|
12
|
+
);
|
13
|
+
|
14
|
+
ALTER TABLE BOM ADD CONSTRAINT BOM_PK PRIMARY KEY (OYA, KO);
|
15
|
+
```
|
16
|
+
```sql
|
17
|
+
INSERT INTO BOM(OYA, KO, KAZU) VALUES ('A', 'B', 1);
|
18
|
+
INSERT INTO BOM(OYA, KO, KAZU) VALUES ('B', 'C', 1);
|
19
|
+
INSERT INTO BOM(OYA, KO, KAZU) VALUES ('C', 'D', 1);
|
20
|
+
INSERT INTO BOM(OYA, KO, KAZU) VALUES ('AA', 'BB', 1);
|
21
|
+
INSERT INTO BOM(OYA, KO, KAZU) VALUES ('BB', 'CC', 1);
|
22
|
+
INSERT INTO BOM(OYA, KO, KAZU) VALUES ('CC', 'DD', 1);
|
23
|
+
```
|
24
|
+
|
1
25
|
**環境**
|
2
26
|
Oracle 12 x64
|
3
27
|
Windows Server 2019 Standard x64
|
4
28
|
|
5
29
|
**実現したいこと**
|
6
30
|
以下のようなBOMテーブルがあります。
|
31
|
+
(修正しました)
|
7
|
-
|
|
32
|
+
|OYA|KO|KAZU|
|
8
33
|
|:--|:--:|--:|
|
9
34
|
|A|B|1|
|
10
35
|
|B|C|1|
|
11
|
-
|D|
|
36
|
+
|C|D|1|
|
12
37
|
|AA|BB|1|
|
13
38
|
|BB|CC|1|
|
14
|
-
|DD|
|
39
|
+
|CC|DD|1|
|
15
40
|
|
16
41
|
これをこういった表として出力したいのですが、どういったSQLを書けばよいのかわからず質問させて頂きます。
|
17
42
|
|親|子|
|
18
43
|
|:--|:--:|
|
19
|
-
|A|
|
44
|
+
|A|D|
|
20
|
-
|AA|
|
45
|
+
|AA|DD|
|
21
46
|
|
22
47
|
再帰SQLの書き方をググって試してみたのですが、いまいちピンときませんでした。
|
23
48
|
Oracleには階層問い合わせというのもあると見たので、そちらでも構いません。
|