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

Zaktualizuj wartość kolumny null z wartości innej niż null w poprzednim wierszu

Co powiesz na to?:

;WITH CTE AS (
SELECT GID, SEQ, Name, Salary
FROM @Test t1
WHERE SEQ = (SELECT MIN(SEQ) FROM @Test t2 WHERE t2.GID = t1.GID)
UNION ALL
SELECT t.GID, t.SEQ, COALESCE(t.Name,c.Name), COALESCE(t.Salary,c.Salary)
FROM CTE c
JOIN @Test t ON t.GID = c.GID AND t.SEQ = c.SEQ+1
)
UPDATE t SET 
    Name = c.Name,
    Salary =  c.Salary
FROM @Test t
JOIN CTE c ON c.GID = t.GID AND c.Seq = t.SEQ


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Logowanie nie powiodło się dla użytkownika „NT AUTHORITY\ANONYMOUS LOGON” w programie SQL Server 2008

  2. Jak odczytać wiele zestawów wyników zwróconych z procedury składowanej SQL Server w R

  3. jakikolwiek limit liczby połączeń SQL Server?

  4. Jak uniknąć sytuacji wyścigu bazy danych podczas ręcznego zwiększania PK nowego wiersza?

  5. Usuń połączony serwer w SQL Server za pomocą T-SQL