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
CTElầ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ướcSETcủa bạn . -
Đặt kết quả của bạn vào
#tempbảng hoặc một@tablebiế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 COUNTtừ 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 example@sqldat.com