Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zaktualizuj stary identyfikator dla rekordów rekursywnie

Druga odpowiedź:Możesz zaktualizować kolumnę old_id następującą instrukcją!

 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. Utwórz tabelę stylu Pivot w SQL

  2. SQL Server 2012, geography.STContains, zły wynik?

  3. Napraw „Konwersja nie powiodła się podczas konwersji wartości varchar” podczas próby połączenia w SQL Server

  4. SQL WHERE.. IN klauzula wiele kolumn

  5. Zwróć bieżącą nazwę logowania w SQL Server (T-SQL)