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

oracle-10gを使用して階層クエリでルートの祖先を取得する方法は?

    データベース環境では、トップレベルの外部キーは次のようにnullになる可能性があります。

    | pid  | cid  |
    |------*------|
    | null |  2   |
    |  2   |  3   |
    |  3   |  4   |
    | null |  6   |
    |  6   |  7   |
    |  7   |  8   |
    

    したがって、次のようなものを使用することをお勧めします:

    select connect_by_root(t1.cid) as startpoint,
           t1.cid                  as rootnode
      from your_table t1
     where connect_by_isleaf = 1
     start with t1.cid in (8, 4)
    connect by prior t1.pid = t1.cid;
    

    フィドル



    1. 配列内のすべての値がデータベース列に存在するかどうかを確認します

    2. MySQLで列が空かnullかどうかを確認するにはどうすればよいですか?

    3. OracleスキーマとMicrosoftスキーマの違いは何ですか?

    4. PHP / MySQLチケット応答-電子メール応答をデータベースに保存しますか?