10:44:19 SQL> select * from tre;NAME CASCADECOD ---------- ---------- A 1 B 1.1 C 1.1.1 D 1.1.2 E 1.2 F 1.2.1 G 2已选择7行。已用时间: 00: 00: 00.31 10:44:38 SQL> select name from tre where not exists ( 10:44:59 2 select 1 from tre t where instr(t.cascadecode,tre.cascadecode)=1 and 10:45:03 3 length(tre.cascadecode)<length(t.cascadecode));NAME ---------- C D F G已用时间: 00: 00: 00.16 10:45:05 SQL>
---------- ----------
A 1
B 1.1
C 1.1.1
D 1.1.2
E 1.2
F 1.2.1
G 2已选择7行。已用时间: 00: 00: 00.31
10:44:38 SQL> select name from tre where not exists (
10:44:59 2 select 1 from tre t where instr(t.cascadecode,tre.cascadecode)=1 and
10:45:03 3 length(tre.cascadecode)<length(t.cascadecode));NAME
----------
C
D
F
G已用时间: 00: 00: 00.16
10:45:05 SQL>
哎呀,不好意思,犯了一个这么愚蠢的问题
NAME PARENTNODE SONNODE
这种结构可以用START WITH ...CONNECT 语句实现.
而你的要求有点象制造业的BOM展开中的一种.取子阶..一般这种东西可以写成存储过程的.
select * from tablename where instr(CASCADECODE,'.',1,2)>0对你有帮助是我最大的快乐