2012-07-28 5 views
1

Я ищу помощь по обновлению одного столбца в таблице с результатами другого запроса.Как обновить одну таблицу с результатами другого запроса mysql

имена таблиц:

saleitems - fields are (itemid,quantity,saledate) 
stockbuffers - fields are (itemid,bufferquantity) 

я получаю количество буфера с помощью следующего запроса из таблицы продажи пунктов:

SELECT (SUM(saleitems.quantity/6)) * 6 FROM saleitems WHERE saleitems.saledate BETWEEN date_sub(curdate(),interval 180 day) AND NOW() GROUP BY saleitems.itemid 

я хочу, чтобы обновить количество колонки буфера от результата, приведенного выше запроса. может кто-нибудь помочь. очень удручающе.

ответ

1

Вы можете использовать запрос на обновление, как:

Update stockbuffers set bufferquantity =(SELECT (SUM(saleitems.quantity/6)) * 6 FROM saleitems WHERE saleitems.saledate BETWEEN date_sub(curdate(),interval 180 day) AND NOW() GROUP BY saleitems.itemid) 

его просто образец и не были проверены.

+0

Как бы запрос знал, какую строку обновить, так как есть две таблицы. где я помещаю запрос соединения для объединения таблиц, поскольку itemid является общим полем в обеих таблицах. – mmdel

+0

Запрос будет обновлять таблицу инвентаря, как мы указали в коде как «Обновление буферов», – heretolearn

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