我的日历日期介于'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;
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'
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'