2016-02-12 93 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