SELECT table_1.id, (SELECT SUM(amount) FROM table_2 WHERE table_1.id = table_2.bid) AS sum_total FROM table_1 WHERE table_1.total!=0
Мне нужно обновить table_1.total, чтобы оно равнялось sum_total.
table_1.total
sum_total
Любое поступление?
Этот простой запрос должен работать очень хорошо.
UPDATE table_1 SET table_1.total = (SELECT SUM(amount) FROM table_2 WHERE table_1.id = table_2.bid) WHERE table_1.total!=0;
Попробуйте ниже:
update table_1 as t1 left join (select SUM(amount) as totalamount ,id FROM table_1 group by id) as t2 on t1.id =t2.id set t1.total=t2.totalamount
Пожалуйста, внесите необходимые изменения.
Работает ли это для вас:
UPDATE table_1 set total = (SELECT SUM(amount) FROM table_1 WHERE table_1.id = table_1.bid) AS sum_total)