Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để tham chiếu một CTE hai lần?

Đừng nghĩ rằng bạn có thể. Từ MSDN

Nhấn mạnh vào "câu lệnh SELECT, INSERT, UPDATE, DELETE hoặc CREATE VIEW".

Đây có thể là trường hợp bạn muốn sử dụng Bảng Tạm thời .

CREATE TABLE #Recs
{
  .....
}
INSERT INTO #Recs
select *, row_number() over (order by id) as rownum from ......

Nếu bạn không biết cấu trúc của bảng trước khi sử dụng, bạn có thể sử dụng biểu mẫu này để tạo một bảng tạm thời:

select *, row_number() over (order by id) as rownum INTO #Recs from ......

Bạn sẽ có thể sử dụng bảng Tạm thời theo cách bạn đã mô tả ở trên.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng biến trong câu lệnh SQL LIKE

  2. Chọn vào câu lệnh mà nguồn là cơ sở dữ liệu khác

  3. Điều kiện có điều kiện trong SQL Server

  4. Truy xuất bản ghi cuối cùng trong mỗi nhóm từ cơ sở dữ liệu - SQL Server 2005/2008

  5. Trả về danh sách các hàm phân vùng trong SQL Server (T-SQL)