Всем доброго времени. Суть вопроса такова : есть 2 таблицы - первая: Куплено и вторая: Продано.
Обе таблицы строятся по принципу : одна покупка/продажа= 1 строка.
В Таблице покупок указаны : Type,Date,Title, Count, Magazinnumber.
В таблице проданного : Title, Count, Magazinnumber. На самом деле много чего еще, например ID каждой покупки/продажи но к сути не относится.
Нужно выбрать из Куплено товары с одинаковым названием , просуммировать их количество .... Затем выбрать из Продано товары с теми же самыми названиями- - --> просуммировать количество проданного и вычесть первое из второго для нужного магазина. Иначе говоря получить множество строчек с ТЕКУЩИМ количеством каждого товара, сгруппированного по названию в магазине. Запрос выглядит :
SELECT `Type`, `Date`, `Title`, COALESCE(SUM(col1),0)-COALESCE(SUM(col2),0)
FROM(
SELECT `Type`,`Date`,`Title`, `Count` AS col1, NULL AS col2
FROM `byutable` WHERE MagasinMumber= 'es3354'
UNION ALL
SELECT 0,0,`Title`, NULL AS col1, `Count` AS col2
FROM `saletable` WHERE MagasinMumber = 'es3354'
) X
GROUP BY `Title`
выполняя такой запрос я получаю правильный результат : несколько строк в которых указаны типы товаров, их имена и текущее количество в магазине es3354. Но мне нужно не все типы товаров в этом магазине а только один определенный. Казалось бы достаточно добавить еще одно условие после where вот так :
FROM `byutable` WHERE MagasinMumber= 'es3354' AND TYPE = 'Milk'
Но тогда в запрос попадает еще одна строчка, в которой записано количество проданного : минус "-100" или "-1". Как от неё избавиться ?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости