我有两个具有以下结构的表
表1:
PRODID | PSTID |
___________________
1 | 4
2 |
3 | 2
4 |
5 |
表2:
PSTID | PRODID
_______________
1 | 4
2 | 1
3 | 1
5 |
现在我可以说我从PRODID 1开始(可能是任何)
应该使用T1.PRODID = T2.PRODID加入表2并导致PSTID - > {2,3}
现在使用相应的T2.PSTID来开始表1中的下一轮,其中T2.PSTID = T1.PSTID => {3}
由于现在表2中没有更多PRODID = 3的条目,它应该停止(但可以继续)
答案 0 :(得分:3)
SELECT t1.*
FROM table1 t1
INNER JOIN
table2 t2
ON ( t1.prodid = t2.prodid )
START WITH t1.prodid = 1
CONNECT BY PRIOR t2.pstid = t1.pstid;