add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH t1( ColumnA, ColumnB, ColumnC) AS
(
SELECT '2964' , '12814', 4 UNION ALL
SELECT '0001' , '0002' , 0 UNION ALL
SELECT '7745' , '2964' , 0 UNION ALL
SELECT '0003' , '0004' , 0 UNION ALL
SELECT '0002' , '0005' , 6 UNION ALL
SELECT '12986', '7745' , 0
), t2(ColumnA, ColumnB, ColumnC, level) AS
(
SELECT t1.*, 1
FROM t1 where ColumnA = '12986'
UNION ALL
SELECT t2.ColumnA, t1.ColumnB, t1.ColumnC, t2.level + 1
FROM t2
JOIN t1 on t1.ColumnA = t2.ColumnB
)
SELECT ColumnA, ColumnB, ColumnC
FROM t2
WHERE level = (SELECT MAX(level) FROM t2)

ColumnA ColumnB ColumnC
12986 12814 4