0
私は1つの面倒な問題に直面しています。結合内の階層的クエリ
これは状況です。
CREATE TABLE tree_hierarchy (
id NUMBER (20)
,parent_id NUMBER (20)
);
CREATE TABLE tree_information (
id NUMBER (20)
,some_text VARCHAR(20)
,tree_id NUMBER (20)
);
INSERT INTO tree_hierarchy (id, parent_id) VALUES (2, null);
INSERT INTO tree_hierarchy (id, parent_id) VALUES (4, 2);
INSERT INTO tree_hierarchy (id, parent_id) VALUES (9, 4);
INSERT INTO tree_hierarchy (id, parent_id) VALUES (20, null);
INSERT INTO tree_hierarchy (id, parent_id) VALUES (40, 20);
INSERT INTO tree_hierarchy (id, parent_id) VALUES (90, 40);
INSERT INTO tree_information (id, some_text, tree_id) VALUES (10,'Some teste', 2);
INSERT INTO tree_information (id, some_text, tree_id) VALUES (11,'Other tree', 20);
そして、私はこのようなことをしたいと思います。
SELECT hier.*
FROM tree_information Ti
JOIN (
SELECT
id,
parent_id
FROM tree_hierarchy th
where connect_by_isleaf = 1
START WITH th.id = ti.tree_id
CONNECT BY PRIOR th.id = th.parent_id
) hier on 1=1;
しかし、ti.tree_idはselect内では表示されません。私は
START WITH th.parent_id is null
の条件でスタートを変更した場合は
間違ったままです。 誰かがこの状況を解決する方法を知っていますか?
期待される出力をどうしたらよいでしょうか? – OldProgrammer
「これは私がやりたいことです」そしてその後、あなたがしたいことをしないコードを表示します(これが最初にこれを投稿している理由です)。だから、あなたがしたいことをどのように推測するのですか?それ以外は何もしないコードからですか? OldProgrammerが上に書いたものを見てください。 – mathguy