sql >> Database teknologi >  >> RDS >> Sqlserver

Erstat null-værdi med seneste værdi

Dette vil fungere for dit tilfælde, tror jeg:

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. Hvordan trimmes en streng i SQL Server før 2017?

  2. Sådan håndteres denne mysql-forespørgsel med case- og limit-erklæring

  3. Fejl under brug af DBMS_CRYPTO-funktionen til at dekryptere CLOB-data

  4. Langsom forespørgsel med HAVING-klausul - kan jeg fremskynde det?