Как изменить данные в таблице на основании данных другой таблицы sql?

есть таблица table1, в ней есть столбец total
есть таблица table2, в ней также есть столбец total2
Задача состоит в том что бы из столбца total отнять значение столбца total2
601fe8ee70de0708440164.png
Пытаюсь сделать так:
mysqli_query($connect, "UPDATE `table1` SET `total` = ('total' - (SELECT total2 FROM table2 where `table.name` = `table2.name`) ) ");


Однако данный код не работает. Пытался просто обновить значения на основании данных другой таблицы :

mysqli_query($connect, "UPDATE `table1` SET `total` = (SELECT total2 FROM table2 where `table.name` = `table2.name`) ");


Но так же безрезультатно. Подскажите пожалуйста в чем может быть проблема. Может ошибка в синтаксисе или вообще не правильно делаю.
  • Вопрос задан
  • 1282 просмотра
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
Задача решается элементарно:
update table1
join table2 on table1.name = table2.name
set table1.total = (total - total2)
;


Здесь MySQL fiddle
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы