CTE
е основно изглед за еднократна употреба. Той се запазва само за едно изявление и след това автоматично изчезва.
Вашите опции включват:
-
Предефинирайте
CTE
втори път. Това е толкова просто, колкото копиране и поставяне отWITH...
през края на дефиницията до преди вашияSET
. -
Поставете резултатите си в
#temp
таблица или@table
променлива -
Материализирайте резултатите в реална таблица и препратете към нея
-
Променете леко само до
SELECT COUNT
от вашия 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]