Ein CTE ist im Grunde eine Wegwerfansicht. Es bleibt nur für eine einzige Anweisung bestehen und verschwindet dann automatisch.
Ihre Optionen umfassen:
-
Definieren Sie den
CTEneu ein zweites Mal. Dies ist so einfach wie Kopieren und Einfügen vonWITH...bis zum Ende der Definition bis vor IhrenSET. -
Setzen Sie Ihre Ergebnisse in ein
#tempTabelle oder eine@tableVariable -
Materialisieren Sie die Ergebnisse in einer echten Tabelle und referenzieren Sie diese
-
Ändern Sie leicht zu nur
SELECT COUNTvon Ihrem 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