I have the following table that implements a linked list. I want to query starting with rate_sequence_id of 1, and get the next record linked to it, which is 30 in this case. So the query should return two rows (rate_sequence_id of 1, and 30).
However, the following query either returns only 1 row, or a "Loop" error, depending on which column comes first in the CONNECT BY clause.
Is what I am trying to do possible with this data?
SELECT * FROM TEST
CONNECT BY PRIOR RATE_SEQUENCE_ID = NEXT_RATE
START WITH RATE_SEQUENCE_ID = 1
Test Data:
CREATE TABLE TEST (
RATE_SEQUENCE_ID NUMBER(10,0),
NEXT_RATE NUMBER(10,0),
DURATION NUMBER,
RATE NUMBER
);
Insert into TEST (RATE_SEQUENCE_ID,NEXT_RATE,DURATION,RATE) values (50,51,28,0.99);
Insert into TEST (RATE_SEQUENCE_ID,NEXT_RATE,DURATION,RATE) values (51,51,112,9.99);
Insert into TEST (RATE_SEQUENCE_ID,NEXT_RATE,DURATION,RATE) values (1,30,28,0.99);
Insert into TEST (RATE_SEQUENCE_ID,NEXT_RATE,DURATION,RATE) values (30,30,112,14.99);
Insert into TEST (RATE_SEQUENCE_ID,NEXT_RATE,DURATION,RATE) values (0,0,0,0);
Insert into TEST (RATE_SEQUENCE_ID,NEXT_RATE,DURATION,RATE) values (31,0,30,0);