CTE
về cơ bản là chế độ xem dùng một lần. Nó chỉ tồn tại trong một câu lệnh và sau đó tự động biến mất.
Các tùy chọn của bạn bao gồm:
-
Xác định lại
CTE
lần thứ hai. Điều này đơn giản như sao chép-dán từWITH...
từ cuối định nghĩa đến trướcSET
của bạn . -
Đặt kết quả của bạn vào
#temp
bảng hoặc một@table
biến -
Vật chất hóa các kết quả thành một bảng thực và tham chiếu đến
-
Thay đổi một chút thành chỉ
SELECT COUNT
từ CTE của bạn:
.
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]