SQL中的MERGE语句

时间:2018-03-21 06:50:30

标签: mysql sql

我们可以在具有不同列的2个表之间使用MERGE语句吗?

我需要根据一个条件(其中T2.Song_code = T1.Song_code)从源表T2更新目标表T1中的几列。 但是t1有一些列在Source表中不可用。因此没有完全了解如何使用它来查看行是否匹配。

有人可以解释一下吗?

3 个答案:

答案 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;)