Tôi đang sử dụng một bảng biểu chung cho paging:Làm thế nào tôi có thể tái sử dụng một biểu thức bảng chung
with query as (
Select Row_Number() over (Order By OrderNum ASC) as TableRowNum,
FirstName,
LastName
From Users
)
Select * from query where TableRowNum between 1 and 25 Order By TableRowNum ASC
Ngay sau khi thực hiện truy vấn này, tôi làm cho thực hiện một truy vấn gần như giống hệt nhau để lấy tổng số mặt hàng :
with query as (
Select Row_Number() over (Order By OrderNum ASC) as TableRowNum,
FirstName,
LastName
From Users
)
Select Count(*) from query
tôi đã cố gắng kết hợp này lại với nhau (ví dụ: xác định CTE, truy vấn dữ liệu và sau đó truy vấn Count, nhưng khi tôi làm điều này, tôi nhận được một thông báo lỗi "tên đối tượng không hợp lệ 'truy vấn'" trong trả lời truy vấn thứ hai (Số đếm)
Có cách nào để kết hợp hai truy vấn này thành một, để lưu một chuyến đi khứ hồi tới DB không?
Điểm của việc sử dụng CTE ở đây là gì? –
@Scott Rippey, tôi thấy CTEs sẵn sàng đọc, sử dụng lại và duy trì. –
Oh cảm ơn. Trong khối mã đầu tiên của bạn, bạn sử dụng một CTE để có được tổng số và để có được kết quả, mà làm cho cảm giác hoàn hảo. Nhưng tôi nhận được một lỗi khi tôi cố gắng truy vấn một CTE hai lần. Bạn có thể giải thích lý do tại sao điều này hoạt động? –