У меня три таблицы, products,loadings,stock
Я хочу выбрать sum(qty)
и date
текущего месяца в указанном c продукте из всей таблицы и заказать по дате.
это мой mysql query
SELECT products.id,
products.name,
(select ifnull(sum(stocks.qty),0) from stocks where stocks.pid=products.id and
DATE(stocks.Indate)=CURDATE()) as total_stock,
(select ifnull(sum(loadings.qty),0) from loadings where loadings.pid=products.id and DATE(loadings.Outdate)=CURDATE() ) as
total_out,
((select ifnull(sum(stocks.qty),0) from stocks where stocks.pid=products.id and
DATE(stocks.Indate) < CURDATE())-(select ifnull(sum(loadings.qty),0) from loadings where
loadings.pid=products.id and DATE(loadings.Outdate) < CURDATE())) as opening_balance,
((products.open_stock)+(select ifnull(sum(stocks.qty),0) from stocks where
stocks.pid=products.id and
DATE(stocks.Indate) <= CURDATE())-(select
ifnull(sum(loadings.qty),0) from loadings where loadings.pid=products.id and
DATE(loadings.Outdate) <=CURDATE())) as closing_balance
from products
Так что я хочу сделать заказ по дате от loadings.Outdate
и stocks.Indate
Я ожидаю, что это будет
date product name total_In total_out Open_balance Closed_balance
01/5/2020 items1 30 0 20 50
03/5/2020 items1 0 4 10 6
.
.and so on
закрытый баланс = Open_balance + total_in- total_out
open_balance - предыдущая дата закрытого _balance, пример: закрытый баланс вчерашнего дня равен 30, тогда это будет открытый баланс сегодня
Пример Пример данных В моей таблице Таблица загрузки
Outdate pid Qty
01/05/2020 1 20
01/05/2020 2 30
02/05/2020 1 10
Таблица запасов
Indate pid Qty
01/05/2020 1 20
01/04/2020 2 5
03/05/2020 1 10
Так что, может быть, я хочу выбрать конкретные данные c pid=1
Мне нужно помогите, заранее спасибо