Can you create nested WITH clauses for Common Table Expressions?

后端 未结 7 1175
花落未央
花落未央 2020-12-12 10:42
WITH y AS (
    WITH x AS (
        SELECT * FROM MyTable
    )
    SELECT * FROM x
)
SELECT * FROM y

Does something like this work? I tried it ear

7条回答
  •  再見小時候
    2020-12-12 11:20

    Nested 'With' is not supported, but you can always use the second With as a subquery, for example:

    WITH A AS (
                    --WITH B AS ( SELECT COUNT(1) AS _CT FROM C ) SELECT CASE _CT WHEN 1 THEN 1 ELSE 0 END FROM B --doesn't work
                    SELECT CASE WHEN count = 1 THEN 1 ELSE 0 END AS CT FROM (SELECT COUNT(1) AS count FROM dual)
                    union all
                    select 100 AS CT from dual
               )
                  select CT FROM A
    

提交回复
热议问题