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
CTE
neu 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
#temp
Tabelle oder eine@table
Variable -
Materialisieren Sie die Ergebnisse in einer echten Tabelle und referenzieren Sie diese
-
Ändern Sie leicht zu nur
SELECT COUNT
von 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 [email protected]