Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbarui nilai kolom nol dari nilai bukan nol di baris sebelumnya

Bagaimana dengan ini?:

;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. Perbedaan antara gabungan kiri dan gabungan kanan di SQL Server

  2. Mengembalikan nilai dan hasil yang ditetapkan dari prosedur tersimpan asp klasik

  3. Bagaimana cara menambahkan kunci utama auto_increment di database SQL Server?

  4. Hapus trailing :karakter dari baris dalam tabel SQL

  5. SQL:Persatuan poligon