如果相应列中的值为空,则匹配 2 table 中的行并将 1 列的值从 1 table 更新为另一个 table

Match rows from 2 table and update value of 1 column from 1 table to the other table if the value in the corresponding column is null

我有两个表格如下:

Table A(包含第 1A 列和第 2A 列) Table B(包含第 1B 列和第 2B 列)

我想编写一个程序来帮助我执行以下操作:

  1. 查找 Table A 和 Table B 的匹配行,其中 1A = 1B
  2. 之后,对于每个匹配的行,如果2B为空,则用2A更新;如果它不为空,则不更新它。

我是 SQL 和 Oracle 的新手,非常感谢任何帮助。

提前致谢

试试这个 MERGE 语句:

MERGE INTO TABLE_B B
USING (SELECT 1A, 2A FROM TABLEA) A
ON (A.1A = B.1B)
WHEN MATCHED THEN
UPDATE 
SET B.2B = COALESCE(B.2B, A.2A);

干杯!!

更新表A 设置 A.2A = ( SELECT2B 从 B 其中 B.1B= A.1A ) 其中 A.2A 为空;

这对我有用!感谢所有的输入家伙!