Есть таблица:
Надо вывести название товара и итоговое количество каждого товара, оставшееся на складе, итоговое количество которого не менее исходного (за исходное считать первое поступление на склад) с сортировкой по итоговому количеству по убыванию.
Результат должен быть таким:
Я сделал такой запрос:
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-у за подсказку!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача "Как сохранить порядок отображения подстрок"!