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

句で接続して階層の最上位を取得

    Oracleには、 LEVELがあります。 疑似列 使用できるもの:

    SELECT
      myTable.ID,
      myTable.ParentID
    FROM myTable
    WHERE LEVEL = 1
    CONNECT BY PRIOR myTable.ID = myTable.ParentID
    

    任意のレベルから最上位(ルート)値を見つけるには、列名の前にCONNECT_BY_ROOTを付けます。 演算子:

    SELECT
      myTable.ID,
      myTable.ParentID,
      CONNECT_BY_ROOT myTable.ID AS "Top Level ID"
    FROM myTable
    CONNECT BY PRIOR myTable.ID = myTable.ParentID
    


    1. SQL Serverのブロックとは何ですか?

    2. java.sql.SQLException:Io例外:OracleとのJDBC接続中に読み取り呼び出しからマイナス1を取得しました

    3. htaccess url rewrite(db access)?

    4. データベースのエンティティクラス....エラー無効なリソース_pm