当我想基于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列(姓氏和日期),该怎么办?能帮我找到解决方案吗?
答案 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