2016-02-12 82 views
4

我有兩個表:表1 =大學和表2 =學校MYSQL連接兩個表與一個相同的列

我添加university_id到表2和I需要兩個表進行連接。

如果university_name從表1和name從表2是相同的,得到表1中的id並更換到表2 university_id

我非常新的sql,所以如果你能解釋一下這將是巨大的。我也試過以下無濟於事!

 select a.id,b.name from university as a 
    inner join school as b on a.university_name = b.name 
    UPDATE `school` SET `university_id` = a.id WHERE a.university_name = b.name 
+2

請參閱更新語法 – Strawberry

+0

的可能的複製[如何使用UPDATE查詢JOIN?](http://stackoverflow.com/questions/15209414/how-使用加入更新查詢) – sgeddes

+0

這是聞起來像星期五作業很多(因爲上面的重複是完全一樣的) – PaulG

回答

1

喜歡的東西

UPDATE school a 
JOIN university b ON a.university_name = b.name 
SET a.university_id = b.id 

應該工作

+0

它的工作非常感謝你,看起來更簡單,然後我試圖做! – user5920920

1

我現在無法運行測試......也許它確實給了你一個提示。

UPDATE `school` s SET `university_id` = (SELECT u.id FROM `university` u WHERE u.name=s.university_name) 

您可能需要在SELECT語句中加入學校表。

+0

我也試過這個,它也工作謝謝你! – user5920920

相關問題