簡體   English   中英

t-sql 合並兩個表並替換 null 值

[英]t-sql merging two tables and replace null values

我有這兩個表,我想要比較它們以了解表2中是否有任何null值,如果有,將表1中的現有值替換為表2中的null值(通過代碼列那是主鍵)。

         Table 1
Code       Name          Points
 1     Juan Perez          10
 2     Marco Salgado       5
 3     Carlos Soto         9
 4     Alberto Ruiz        12
 5     Alejandro Castro    5
 10    Jonatan Polanco     0
 11    JD                 NULL


          Table 2
Code       Name          Points
 1     Juan Perez          10
 2     Marco Salgado       5
 3     Carlos Soto         9
 4     Alberto Ruiz        12
 5     Alejandro Castro    5
 10    Null                0
 11    JD                  9

結果表應如下所示

         Table 2
Code       Name          Points
 1     Juan Perez          10
 2     Marco Salgado       5
 3     Carlos Soto         9
 4     Alberto Ruiz        12
 5     Alejandro Castro    5
 10    Jonatan Polanco     0
 11    JD                  9

如果您嘗試更新在 Points 列中具有 null 值的行,您只需連接兩個表並添加 where 子句以將行限制為要更新的行。 像這樣的東西

UPDATE t2
  SET Points = t.Points
FROM table_1 t
JOIN table_2 t2
  ON t.code = t2.code 
WHERE t2.Points IS NULL  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM