sql >> データベース >  >> RDS >> Oracle

SQLは多くの行で接続します

    更新

    更新を確認したら、STARTWITHを削除する必要があります。

    更新を終了

    CONNECT_BY_ROOT あなたが探しているものです

    この声明

    SELECT distinct RootBoss, Person FROM (
    with employee  as 
    (
      Select 1 person , null boss from Dual
      UNION Select 2 , 1 from dual
      UNION Select 3 , 2 from dual
    )
    SELECT CONNECT_BY_ROOT boss RootBoss, person
    FROM employee connect_by
    
      connect by prior person = boss
      ORDER BY person
    
      ) t
    WHERE ROOTBOSS is not null
    ORDER BY
    RootBoss, Person
    

    出力

    ROOTBOSS               PERSON                 
    ---------------------- ---------------------- 
    1                      2                      
    1                      3                      
    2                      3        
    

    SUMSとGROUPSの追加は非常に簡単です




    1. SQLServerでストアドプロシージャを暗号化する方法

    2. 未定義のインデックス名

    3. Zendデータベースアダプタ-複雑なMySQLクエリ

    4. アプリケーションの新しいバージョンを更新するときにsqliteデータベースを削除します