13

can i do something like this :

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

i willing to perform some logic on output of inner with clause & than again do some operations on output of the outer with clause.

any help will be appreciated ...
Thanks

note :- its just some simplified query that will resolve my problem in my actual query, which have nested with clause

objectWithoutClass
  • 1,631
  • 3
  • 14
  • 15

2 Answers2

38

You can do something like this:

with t as 
(
    select * from table
),
tt as
( 
     select * from t
)
select * from tt 
Giannis Paraskevopoulos
  • 18,261
  • 1
  • 49
  • 69
14

No, you cannot nest CTE (Common Table Expression) but you can chain them:

with t as 
(
    select * from table 
),
tt as
( 
    select * from t
)
SELECT * FROM tt
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459