sql >> Databasteknik >  >> RDS >> Sqlserver

Uppdatera noll-kolumnvärdet från icke-null-värdet i föregående rad

Vad sägs om detta?:

;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. I Postgresql, tvinga unik på kombination av två kolumner

  2. MySql kan inte göra kolumn auto_increment

  3. Laravel Migration Error:Syntaxfel eller åtkomstöverträdelse:1071 Angiven nyckel var för lång; max nyckellängd är 767 byte

  4. jquery php infoga data i mysql utan att uppdatera sidan