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

OracleCONNECTBYクエリをSQLServerクエリに変換します

    SQLServerにはCONNECT BYがありません 。再帰CTEを使用する必要があります。

    START WITHを配置します WHERE アンカー部分(CTEの最初の部分)のフィルター。

    再帰部分(後半)で、CTEをEMPに再結合します。 CONNECT BYを使用 状態。

    WITH cte AS (
        SELECT
            LEVEL = 1,
            e.EMPNO,
            e.ENAME,
            e.JOB,
            e.MGR
        FROM EMP e
        WHERE e.MGR IS NULL
    
        UNION ALL
    
        SELECT
            cte.LEVEL + 1,
            e.EMPNO,
            e.ENAME,
            e.JOB,
            e.MGR
        FROM EMP e
        JOIN cte ON e.MGR = cte.EMPNO
    )
    
    SELECT
        cte.LEVEL,
        cte.EMPNO,
        cte.ENAME,
        cte.JOB,
        cte.MGR
    FROM cte
    ORDER BY cte.LEVEL;
    



    1. mysqliクエリの単一列の値を表示します

    2. MySQLmy.cnfファイル-先行するグループのないオプションが見つかりました

    3. postgresで列挙型の値を削除するにはどうすればよいですか?

    4. 各行が特定の範囲の日付を表すテーブルを返すSQLクエリ