Um
CTE é basicamente uma visão descartável. Ele persiste apenas por uma única instrução e desaparece automaticamente. Suas opções incluem:
-
Redefina oCTEuma segunda vez. Isso é tão simples quanto copiar e colar deWITH...até o final da definição para antes de seuSET.
-
Coloque seus resultados em um#temptabela ou uma@tablevariável
-
Materialize os resultados em uma tabela real e faça referência a isso
-
Altere ligeiramente para apenasSELECT COUNTdo seu 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