1

我有两个具有以下结构的表

表格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 的条目,因此它应该停止(但可以继续)

4

1 回答 1

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;
于 2017-01-19T09:02:11.520 回答