循环列和更改值为空

Cycle through columns and change value is empty

我有以下 table 比较两个相似的 table:

Source Part Info 1 Info 2 ... Info 12 Description Color
Table 1 Wheel Circle ... Long Distance
Table 2 Wheel Circle Rubber ... Long Distance Wheel for vehicle Black
Table 1 Seat 4 Seats ... Comfortable Brown
Table 2 Seat Leather 4 Seats ... Comfortable Seat for vehicle Brown

我正在尝试更新 Table 1 中没有 table 2.

值的列

我目前的更新查询一次只对一个字段起作用,但我想知道是否有办法让它动态化并运行通过单个 [=23= 上的所有列].这是我现在的工作查询:

UPDATE t
SET INFO2 = f.INFO2
FROM Table1 t
JOIN Table2 f ON f.PART = t.PART
WHERE t.INFO2 = '';

使用CASE表达式更新NULL/空字符串列,否则保持原样

UPDATE t
  SET INFO2 = case when coalesce(t.INFO2, '') = '' then f.INFO2 else t.INFO2 end, 
      INFO3 = case when coalesce(t.INFO3, '') = '' then f.INFO3 else t.INFO3 end, ..
FROM Table1 t
JOIN Table2 f ON f.PART = t.PART ;