循环列和更改值为空
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 ;
我有以下 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 ;