嵌套的WITH语句

Ale*_*xei 3 t-sql sql-server

这样可行:

; with res1 as (
        select 1 as col1
    )
select * from res1
Run Code Online (Sandbox Code Playgroud)

如何将WITH语句嵌套在另一个内?我试过了

; with res1 as (
    ; with res2 as (
        select 1 as col1
    ) 
    select * from res2
    )
select * from res1
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ';'.
Msg 102, Level 15, State 1, Line 6
Incorrect syntax near ')'.
Run Code Online (Sandbox Code Playgroud)

Vik*_*ram 7

你可以这样做:

; with res1 as (
        select 1 as col1
    ),
    res2 as(
    select * from res1
    )
select * from res2
Run Code Online (Sandbox Code Playgroud)