2016-10-12 5 views
1

У меня есть оператор выбора SELECT item, quantity FROM sometable который возвращает следующие данные:MySQL заявление для обновления динамически

Item  Quantity 
    21   23 
    22   12 
    23   15 

можно ли вычесть один, количество элемента, который является меньшим (с помощью оператора SQL). В приведенном выше сценарии количество пункта 22 должно стать 11.

Используя инструкцию SELECT item, quantity FROM sometable ORDER BY quantity LIMIT 1, я получаю строку с наименьшим количеством. Теперь я хочу уметь вычесть 1 из него с помощью инструкции UPDATE, которая использует значения из оператора select.

В настоящее время я планирую сделать это, запросив значения таблицы через PHP и цикл через них.

Можно ли это сделать, построив инструкцию UPDATE SQL?

+1

Ваш вопрос непонятен. Пожалуйста, добавьте больше примеров данных и ожидаемых результатов –

+0

обновили вопрос. пожалуйста, дайте мне знать, если вам нужна дополнительная информация. – user3980196

ответ

2
update your_table 
set quantity = quantity - 1 
where item = (SELECT item FROM your_table ORDER BY quantity LIMIT 1) 
+0

спасибо за ответ, но 'where quantity user3980196

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