Есть таблица:
Надо вывести название товара и итоговое количество каждого товара, оставшееся на складе, итоговое количество которого не менее исходного (за исходное считать первое поступление на склад) с сортировкой по итоговому количеству по убыванию.
Результат должен быть таким:
Я сделал такой запрос:
SELECT name, SUM(count) AS coount FROM `store`
LEFT JOIN `storetrans`
ON store.id = storetrans.id
GROUP BY name
HAVING SUM(count) < (SELECT `count` FROM `storetrans` WHERE `id` = 3 LIMIT 1)
И это работает, но только он берет первое значение НОЖНИЦЫ (я сам добавил id=3) для всех вещей. А мне надо для каждого свой ID брал, вместо ID НОЖНИЦЫ (ID=3). Как можно сделать это ID динамичным?
Нашел ответ на собственный вопрос. ПО больше прочитал как работает GROUP BY и HAVING.
SELECT store.id, store.name, SUM(storetrans.count) AS coount FROM `store`
LEFT JOIN `storetrans` ON store.id = storetrans.id
GROUP BY name
HAVING SUM(count) >= (
SELECT `count`
FROM `storetrans`
WHERE `id` = store.id
GROUP BY `id`
HAVING MAX(`date`)
)
ORDER BY coount DESC
Спасибо Mike-у за подсказку!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Задача "Как сохранить порядок отображения подстрок"!