CTE
to w zasadzie widok jednorazowego użytku. Utrzymuje się tylko dla pojedynczego stwierdzenia, a następnie automatycznie znika.
Twoje opcje obejmują:
-
Przedefiniuj
CTE
drugi raz. Jest to tak proste, jak kopiowanie i wklejanie zWITH...
przez koniec definicji do przedSET
. -
Umieść swoje wyniki w
#temp
tabela lub@table
zmienna -
Zmaterializuj wyniki w prawdziwej tabeli i odnieś się do tego
-
Zmień nieznacznie, aby po prostu
SELECT COUNT
z Twojego 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 [email protected]