具有两个表的Oracle SQL分层查询
我有两张结构如下的表 表1:具有两个表的Oracle SQL分层查询,oracle,hierarchical-query,Oracle,Hierarchical Query,我有两张结构如下的表 表1: PRODID | PSTID | ___________________ 1 | 4 2 | 3 | 2 4 | 5 | 表2: PSTID | PRODID _______________ 1 | 4 2 | 1 3 | 1 5 | 现在我可以说我从prodid1开始(可以是任意的) 它应该以T1
PRODID | PSTID |
___________________
1 | 4
2 |
3 | 2
4 |
5 |
表2:
PSTID | PRODID
_______________
1 | 4
2 | 1
3 | 1
5 |
- 现在我可以说我从prodid1开始(可以是任意的)
- 它应该以T1.PRODID=T2.PRODID连接到表2,并得到PSTID->{2,3}
- 现在使用相应的T2.PSTID开始表1中的下一轮,T2.PSTID=T1.PSTID=>{3}
- 由于表2中不再有PRODID=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;