Si queremos o necesitamos, podemos tener varias tablas virtuales (CTE) en una sola vista o en un solo stored procedure. Para ello debemos declararlas de esta forma:
WITH MiCTE1 AS ( SELECT ... ), MiCTE2 AS ( SELECT ... ) SELECT Columnas FROM MiTablaPrincipal LEFT JOIN MiCTE1 ON MiCondición1 LEFT JOIN MiCTE2 ON MiCondición2
Como habrás notado, la palabra clave WITH se escribe solamente una vez (antes de la primera CTE) y el carácter de separación entre una CTE y la siguiente es la coma.
Puedes así tener todas las tablas virtuales que quieras, los únicos requisitos son que debes hacer un JOIN a cada una de ellas en tu SELECT principal y que no puedes tener una CTE dentro de otra CTE.
Artículos relacionados:
Usando CTE (Common Table Expression)
Otro ejemplo de CTE: ventas semanales
Deja un comentario