CTE to w zasadzie widok jednorazowego użytku. Utrzymuje się tylko dla pojedynczego stwierdzenia, a następnie automatycznie znika.
Twoje opcje obejmują:
-
Przedefiniuj
CTEdrugi raz. Jest to tak proste, jak kopiowanie i wklejanie zWITH...przez koniec definicji do przedSET. -
Umieść swoje wyniki w
#temptabela lub@tablezmienna -
Zmaterializuj wyniki w prawdziwej tabeli i odnieś się do tego
-
Zmień nieznacznie, aby po prostu
SELECT COUNTz 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 example@sqldat.com