我希望我能解释令我感到困惑的问题。 我有以下的分层数据集(这是34K的记录只是子集)分层查询
PARENT_ID CHILD_ID EXAM
TUDA12802 TUDA12982 N
TUDA12982 TUDA12984 J
TUDA12984 TUDA999 J
TUDA12982 TUDA12983 N
TUDA12983 TUDA15322 J
TUDA12983 TUDA15323 J
这是树的表示
TUDA12982 N
- TUDA12984 J
-- TUDA999 J
- TUDA12983 N
-- TUDA15322 J
-- TUDA15323 J
我需要的是与考试所有记录的列表= N和底层考试='J'记录,可以嵌套。
select *
from test1
connect by prior child_id = parent_id
start with child_id = 'TUDA12982'
order siblings by child_id;
给我
PARENT_ID CHILD_ID EXAM
TUDA12802 TUDA12982 N
TUDA12982 TUDA12984 J
TUDA12984 TUDA999 J
TUDA12982 TUDA12983 N
TUDA12983 TUDA15323 J
TUDA12983 TUDA15322 J
但我需要的是
TUDA12802 TUDA12982 N
TUDA12982 TUDA12984 J
TUDA12984 TUDA999 J
这些运行需要停止的时候我遇到考试= 'N' 记录。
我需要像'停止与'条款。
select *
from test1
connect by prior child_id = parent_id
start with child_id = 'TUDA12982'
stop with exam = 'N'
order siblings by child_id;
这怎么办?
就是这样。如此简单和优雅。我以为我遇到了非常棘手的问题。非常感谢你。 Je gaat het pas zien als je he het doorhebt。 (Johan Cruijff) – 2009-09-18 12:48:29