sql连接表基于2个参数并更新2列

时间:2016-01-23 07:02:39

标签: mysql sql

当我想基于1个参数连接2个表并仅更新1列时,我使用以下语法

UPDATE your_table
INNER JOIN your_temp_table on your_temp_table.name= your_table.name
SET your_table.surname= your_temp_table.surname;

但是,如果我想基于2个参数(名称和城市)连接表并更新2列(姓氏和日期),该怎么办?能帮我找到解决方案吗?

2 个答案:

答案 0 :(得分:2)

使用逗号设置多列:

UPDATE your_table
INNER JOIN your_temp_table on your_temp_table.name= your_table.name and 
            your_temp_table.city= your_table.city
SET your_table.surname= your_temp_table.surname,
    your_table.`date`=your_temp_table.`date`;

答案 1 :(得分:1)

from之后使用表和连接语句的别名。

update yt 
set yt.name='name_value', yt.date= 'date_value' 
from your_table yt
inner join your_temp_table ytt on ytt.surname= yt.surname 
and ytt.City = yt.City