2010-02-24 87 views
0

應該相當簡單。SQL更新記錄與另一個表中的記錄進行比較

我有2個表格。其中一個有table1(ID,name,other_id),另一個表有table2(id,name,group,..)

我希望table1.other_id與table2.id基於兩個表上的名稱字段。

+0

歡迎來到SO!你使用什麼風格的SQL? SQL Server? MySQL的? – AdaTheDev 2010-02-24 18:51:04

回答

2
UPDATE t1 
SET t1.other_id = t2.id 
FROM Table1 t1 
    JOIN Table2 t2 ON t1.name = t2.name 

當然這是假設你沒有使用相同的「名」的多個記錄的,否則你將如何告訴你,你的ID從表2,其記錄與給定的名稱。

+0

+1,我在想什麼...... – 2010-02-24 18:51:32

0

這應做到:

update table1 t1 
set other_id = (
    select id 
    from table2 t2 
    where t2.name = t1.name) 

如果table2有多個同名記錄這將失敗。

相關問題