Таблица History_Inventory
Столбец: Дата, Prod_ID, WHStock, Stock_Allocated
Я хочу подсчитать количество раз, когда продукты (WHstock - акции распределены) <= 0 между датой x и y, где Prod_ID = "id1"
Есть идеи?
Я шел по
SELECT Count 'Prod_ID'
, sum(('WHStock'-'Stock_Allocated')) as Stock
from Historic_Inventory
WHERE 'Date' Between '2018-04-01'and '2018-08-01'
AND Stock <= 0
Но не очень хорошо работает..
Я думаю, вы хотите:
SELECT COUNT(*)
FROM (SELECT Prod_ID, SUM(WHStock - Stock_Allocated) as Stock
FROM Historic_Inventory
WHERE 'Date' Between '2018-04-01' and '2018-08-01'
GROUP BY Prod_ID
) x
WHERE Stock <= 0;
Хммм. , , это подсчитывает количество продуктов, значение которых отрицательное.
Возможно, вы хотите:
select hi.*
(@stock := @stock + (WHStock - Stock_Allocated)) as stock
from (select hi.*
from historic_inventory hi
where prod_id = ?
order by date
) hi cross join
(select @stock := 0) params
having stock < 0;
Попробуй это:
SELECT Count(*)
FROM
(SELECT SUM(('WHStock'-'Stock_Allocated')) AS Stock
FROM Historic_Inventory
WHERE 'Date' Between '2018-04-01'and '2018-08-01') AS t
WHERE t.Stock <= 0
not working very well
что это значит? Какой выход вы получаете? Можете ли вы поделиться примерами данных и ожидаемым результатом?