0
Ich stehe vor einem lästigen Problema und ich möchte etwas Hilfe.Hierarchische Abfragen in Join
Dies ist die Situation.
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);
Und ich möchte so etwas tun.
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;
aber ti.tree_id ist in der Auswahl nicht sichtbar.
Wenn ich den Start mit der Bedingung ändern für
START WITH th.parent_id is null
Wird falsch bleiben. Jemand hat eine Idee, wie man diese Situation lösen kann?
Können Sie bitte zeigen, was Ihre erwartete Ausgabe sein sollte? – OldProgrammer
"Hier ist, was ich tun möchte" und dann zeigen Sie Code, der NICHT tut, was Sie tun möchten (das ist, warum Sie dies an erster Stelle veröffentlichen). Wie sollen wir also erraten, was Sie tun wollen? Aus Code, der es NICHT tut, und sonst nichts? Bitte sehen Sie, was OldProgrammer oben geschrieben hat. – mathguy