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

Thay thế giá trị null bằng giá trị mới nhất

Điều này sẽ phù hợp với trường hợp của bạn, tôi nghĩ:

SELECT 
    t1.PositionDate,
    t1.Currency,
    COALESCE(t1.Value,t2.value) AS Value
FROM t1
LEFT join (SELECT MAX(PositionDate) AS PositionDate,Currency FROM t2 WHERE PositionDate < t1.PositionDate  GROUP BY Currency) tjoin
LEFT join t2 on tjoin.currency = t2.Currency and tjoin.PositionDate = t2.PositionDate


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008, cái này chiếm bao nhiêu dung lượng?

  2. Cách chèn dấu ngắt dòng trong chuỗi VARCHAR / NVARCHAR của SQL Server

  3. Chèn vào được ghi nhật ký tối thiểu

  4. Làm cách nào để di chuyển một bảng vào một lược đồ trong T-SQL

  5. Hướng dẫn đơn giản về cách sử dụng truy vấn con trong SQL Server