2016-02-12 3 views
4

У меня есть две таблицы: таблица 1 = университет и таблица 2 = школаMYSQL Объединение двух таблиц с одной идентичной колонке

я добавил university_id в таблице 2, и мне нужно соединить две таблицы.

Если university_name из таблицы 1 и name из таблицы 2 идентичны, получить id из таблицы 1 и заменить его на стол 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

См синтаксис UPDATE – Strawberry

+0

Возможные дубликат [Как использовать JOIN в запросе UPDATE?] (Http://stackoverflow.com/questions/15209414/how- to-use-join-in-update-query) – 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

Смежные вопросы