10

我可以做这样的事情吗:

with t as 
    (
        with tt as
            ( 
                 select * from table 
            )
        SELECT * FROM tt
    )
select * from t

我愿意对内部 with 子句的输出执行一些逻辑,而不是再次对外部 with 子句的输出执行一些操作。

任何帮助将不胜感激......
谢谢

注意:-它只是一些简化的查询,可以解决我在实际查询中的问题,这些查询嵌套了 with 子句

4

2 回答 2

34

你可以这样做:

with t as 
(
    select * from table
),
tt as
( 
     select * from t
)
select * from tt 
于 2013-08-02T07:13:09.047 回答
12

不,您不能嵌套CTE(通用表表达式),但可以将它们链接起来:

with t as 
(
    select * from table 
),
tt as
( 
    select * from t
)
SELECT * FROM tt
于 2013-08-02T07:13:19.163 回答