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

Cập nhật oldID cho các bản ghi một cách đệ quy

Câu trả lời thứ hai:Bạn có thể cập nhật cột old_id bằng câu lệnh sau!

 Update #customer
 SET oldid =
        (Select TOP 1 c_old.id from #customer c_old
          where c_old.enddate <= #customer.startdate
          and c_old.cust_no = #customer.cust_no
          and c_old.meter_no = #customer.meter_no
          and c_old.enddate = 
                           (
                             SELECT max(c.enddate) FROM #customer c
                               where c_old.cust_no = c.cust_no
                               and c_old.meter_no = c.meter_no
                               and #customer.startdate >= c.enddate
                            ) 
          )
  from #customer
 go


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn Giá trị Từ bảng làm Tiêu đề Cột

  2. Cách tìm các bảng không sử dụng trong SQL Server

  3. Ngôn ngữ thiết lập MS SQL Toàn cầu- hàm ý?

  4. Dữ liệu tổng hợp SQL với danh sách cột động

  5. Cách sử dụng Mẫu trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 16