Un CTE es básicamente una vista desechable. Solo persiste durante una declaración y luego desaparece automáticamente.
Sus opciones incluyen:
-
Redefinir el
CTEpor segunda vez. Esto es tan simple como copiar y pegar desdeWITH...hasta el final de la definición hasta antes de suSET. -
Pon tus resultados en un
#temptabla o un@tablevariables -
Materialice los resultados en una tabla real y haga referencia a eso
-
Cambie ligeramente a solo
SELECT COUNTde tu CTE:
.
SELECT @total = COUNT(*)
FROM Players p
INNER JOIN Teams t
ON p.IdTeam=t.Id
INNER JOIN Leagues l
ON l.Id=t.IdLeague
WHERE example@sqldat.com