Есть ли способ сделать это в SQL, так как сейчас мне нужно выполнить один и тот же запрос 30 раз, используя union все 30 раз для месячного итога, который занимает много времени выполнения.
Если возможно, тогда это будет огромная помощь.
Пример: сумма количества товара в каждый день месяца
1 июля - я хочу получить общее количество элементов за день, когда транзакция началась, 2 июля - хочу получить общее количество элементов за день, начиная транзакцию + 1 июля, 3-го июля - общее количество элементов за день, начиная транзакцию + 1 Кол-во июля + Кол-во июля
Заранее спасибо
Declare @DateTo DateTime
Set @DateTo='2018-07-19'
Select @DateTo DateTo, [Item No_], sum(Quantity) from
[Snowman Logistics Limited$Item Ledger Entry]
where [Posting Date]<=@DateTo and [Item No_]='H1023038'
Group by [Item No_]
union all
Select @DateTo+1 DateTo, [Item No_], sum(Quantity) from
[Snowman Logistics Limited$Item Ledger Entry]
where [Posting Date]<=@DateTo+1 and [Item No_]='H1023038'
Group by [Item No_]
union all
Select @DateTo+2 DateTo, [Item No_], sum(Quantity) from
[Snowman Logistics Limited$Item Ledger Entry]
where [Posting Date]<=@DateTo+2 and [Item No_]='H1023038'
Group by [Item No_]
Результат ниже
DateTo Item No_ (Quantity)
2018-07-19 00:00:00.000 H1023038 0.00000000000000000000
2018-07-20 00:00:00.000 H1023038 20100.00000000000000000000
2018-07-21 00:00:00.000 H1023038 12500.00000000000000000000