I have a table with two columns, Parent
and Child
.
I need to get the list of all descendants associated with the parent records.
Source Table
+----+-----------+
| Parent | Child |
+----+-----------+
| a | b |
| b | c |
| c | d |
| d | e |
| e | f |
| f | x |
+----+-----------+
Expected Result:
+----+-----------+
| Parent | Child |
+----+-----------+
| a | b | // As b is the child of a, all the descendants of b
| a | c | // are also descendants of a.
| a | d |
| a | e |
| a | f |
| a | x |
| b | c | // As c is the child of b, all the descendants of c
| b | d | // are also descendants of b.
| b | e |
| b | f |
| b | x |
| c | d |
| c | e |
| c | f |
| c | x |
| d | e |
| d | f |
| d | x |
| e | f |
| e | x |
| f | x |
+----+-----------+
Any ideas how to get all the descendants records of a parent?
I have tried self join using T1.Child = T2.Parent
but the logic did not work.
I am using Teiid VDB which doesn't support Recursive WITH
clause.