| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> I don't understand the results of my hierarchical query
I have a table with nodes and an association table which stores the
relationships between the nodes. I wanted to try using the hierarchical
query on my tables, but I didn't get the results I expected. Here are
my two tables:
SQL> select id from nodes;
ID
8 rows selected.
SQL> select parent, child from graph;
PARENT CHILD
------ -----
4 2 4 3 5 4 1 8 2 6 2 7
6 rows selected.
Now here is my query:
select RPAD(' ', 2*(LEVEL-1)) || ID ID, parent, LEVEL
from nodes
LEFT OUTER JOIN graph
ON id = child
CONNECT BY PRIOR ID = parent;
ROWNUM ID PARENT LEVEL
------ ------- ------ ------
1 8 1 1
2 6 2 1
3 7 2 1
4 2 4 1
5 6 2 2
6 7 2 2
7 3 4 1
8 4 5 1
9 2 4 2
10 6 2 3
11 7 2 3
12 3 4 2
13 1 1
14 8 1 2
15 5 1
16 4 5 2
17 2 4 3
18 6 2 4
19 7 2 4
20 3 4 3
20 rows selected.
I expected to see rows 13-20, but not all of the rest. Is this normal?
Here are the results of just the join:
select RPAD(' ', 2*(LEVEL-1)) || ID ID, parent
from nodes
LEFT OUTER JOIN graph
ON id = child;
ID PARENT
------- ------
2 4 3 4 4 5 8 1 6 2 7 2
I read that Oracle 9i has problems with the JOIN and CONNECT BY, but I tried it with the old Oracle outer join and I get the same results. I'm using 9.2.0.5.0.
thanks! Received on Mon Nov 20 2006 - 07:23:54 CST
![]() |
![]() |