Je suis dans le processus de la simplification d'un compliqué instruction select, donc pensé que je pourrais utiliser des expressions de table communes.
La déclaration d'une seule cte fonctionne très bien.
WITH cte1 AS (
SELECT * from cdr.Location
)
select * from cte1
Est-il possible de déclarer et d'utiliser plus d'une expression de table commune dans la même SÉLECTIONNER?
ie cela donne une erreur sql
WITH cte1 as (
SELECT * from cdr.Location
)
WITH cte2 as (
SELECT * from cdr.Location
)
select * from cte1
union
select * from cte2
l'erreur est
Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'WITH'.
Msg 319, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.
NB. J'ai essayé de mettre des points-virgules et d'obtenir cette erreur
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ';'.
Msg 102, Level 15, State 1, Line 9
Incorrect syntax near ';'.
Probablement pas pertinent, mais c'est sur SQL 2008.