【问题标题】:Oracle SQL hierarchical query with two tables具有两个表的 Oracle SQL 分层查询
【发布时间】:2017-06-03 21:30:28
【问题描述】:

我有两张表,结构如下

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

【问题讨论】:

    标签: oracle hierarchical-query


    【解决方案1】:
    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多