sql >> Databáze >  >> RDS >> Sqlserver

Nahraďte hodnotu null předchozí dostupnou hodnotou v dotazu serveru SQL řádků

Níže uvedené prohlášení funguje perfektně

SELECT 
CASE WHEN DATE1 IS NULL 
     THEN 
(SELECT TOP 1 DATE1 FROM Table1 WHERE ID2<T.ID2 
  AND Date1 IS NOT NULL ORDER BY ID2 DESC) ELSE Date1 END AS DATENEW,
*FROM Table1 T

Výstup jako níže

        DATENEW             Date1          ID   Class      ID2
        11/30/2015          11/30/2015     ID1  ClassName   1
        11/30/2015          NULL           ID1  ClassName   2
        11/30/2015          NULL           ID1  ClassName   3
        11/30/2015          NULL           ID1  ClassName   4
        12/31/2015          12/31/2015     ID1  ClassName   5
        12/31/2015          NULL           ID1  ClassName   6
        12/31/2015          NULL           ID1  ClassName   7


  1. Chyba ve sloupci _ID neexistuje, ačkoli v tabulce existuje

  2. Minimalizace dopadu rozšíření sloupce IDENTITY – část 3

  3. Problém Varchar na Mysql 2147483647

  4. MySql - Jak vybrat rozsah id v nastavených intervalech