我们可以在具有不同列的2个表之间使用MERGE语句吗?
我需要根据一个条件(其中T2.Song_code = T1.Song_code)从源表T2更新目标表T1中的几列。 但是t1有一些列在Source表中不可用。因此没有完全了解如何使用它来查看行是否匹配。
有人可以解释一下吗?
答案 0 :(得分:0)
您可以尝试这样:
INSERT INTO T2 (col1, col2, col3, col4)
SELECT t1.col1, t1.col2, t1.col3, t1.col4
FROM t1
WHERE T2.Song_code=T1.Song_code
答案 1 :(得分:0)
将JOIN与UPDATE语句一起使用
UPDATE TABLE1 T1
JOIN TABLE2 T2
ON T2.Song_code=T1.Song_code
SET TABLE1.col1 = TABLE2.col1,
TABLE1.col2 = TABLE2.col2
答案 2 :(得分:0)
<强> SQL 强>
合并为t1 AS目标
使用t2 AS源
ON target.Song_code = source.Song_code
当匹配时
UPDATE SET target.Song_name = source.Song_name - 要更新的列
当没有与目标相匹配时
INSERT VALUES(source.Song_code,source.Song_name); - 为没有值的列留下空字符串(&#39;&#39;&#39;&#39;)