2016-01-23 71 views
0

當我想根據1個參數加入2個表,只更新1列,我用下面的語法SQL基於2個參數表連接並更新2列

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

使用逗號設置多個欄目:

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

使用別名表和連接語句,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