Let’s say I have a table t
x
Current History Result
-------------------------
5 6 black
6 4 White
4 1 Black
With a number of 5, how do I traverse back in history 2 times to derive the result to be black or white?
5 -> 6 -> 4 -> black
Assuming there are other rows of data in the table as well.
I have tried:
select *
from t.result
where t.current in t.history
and t.current in t.history where t.current in ('5')
Advertisement
Answer
If the requirement is upto 2 level, you can try this below logic-
SELECT A.[Current],A.History,C.[Current],C.Result
FROM your_table A
INNER JOIN your_table B ON A.History = B.[Current]
INNER JOIN your_table C ON B.History = C.[Current]
WHERE A.[Current] IN (5)