我有日历日期,我该如何在用餐日期结账?

问题描述 投票:-1回答:1

我的日历日期介于'2020-01-01'和'2020-01-03'之间,如何在不使用联合的情况下将数量的总和直到每个日期,我已经尝试了以下查询。

SELECT 
    Date,
    Sum(ILE.Quantity)
FROM 
    Calender C 
LEFT JOIN 
    [XYZ$Item Ledger Entry] ILE 
ON 
    C.Date <= Cast(ILE.[Posting Date] as Date )
WHERE 
    Date BETWEEN '2020-01-01' AND '2020-01-03'
GROUP BY 
    Date;

This is queried Data我希望我的结果显示如下

Date	       Qty
01-01-2020	24550318.91
01-02-2020	24321291.58
01-03-2020	24526795.94

Select Date from Calendar C Where Date Between '2020-01-01'And '2020-01-03'

Select '2020-01-01'[Qty Till],Sum(ILE.Quantity)From[XYZ$Item Ledger Entry]ILE Where [Posting Date] <= '2020-01-01'
Select '2020-01-03'[Qty Till],Sum(ILE.Quantity) From[XYZ$Item Ledger Entry]ILE Where [Posting Date] <= '2020-01-02'
Select '2020-01-03'[Qty Till],Sum(ILE.Quantity) From[XYZ$Item Ledger Entry]ILE Where [Posting Date] <= '2020-01-03'
sql sql-server sql-server-2008 sql-server-2014
1个回答
0
投票
SELECT C.Date, Quantity = S.Quantity FROM Calender C OUTER APPLY ( SELECT Quantity = Sum(ILE.Quantity) FROM [XYZ$Item Ledger Entry] ILE WHERE CONVERT(DATE, ILE.[Posting Date]) <= C.Date) AS S WHERE C.Date BETWEEN '2020-01-01' AND '2020-01-03'
© www.soinside.com 2019 - 2024. All rights reserved.