Я пытаюсь написать это в одном запросе.Как я могу это сделать?
В основном мне нужно это ежемесячно, поэтому я не могу написать это 30 раз.Любой возможный способ добиться, пожалуйста, поделитесь.В следующем запросе один и тот же код написан 3 раза, но с другим параметром даты.
Select
case when Cast(ILE.[Posting Date] as date) < Cast(Getdate() as date) then cast(ILE.Quantity as Numeric(19,6)) else 0 end AS [Opening],
case when Cast(ILE.[Posting Date] as date) <= Cast(Getdate() as date) then cast(ILE.Quantity as Numeric(19,6)) else 0 end AS [Closing]
from [Item Ledger Entry] ILE
where Cast(ILE.[Posting Date] as date) <= Cast(Getdate() as date)
Union all
Select
case when Cast(ILE.[Posting Date] as date) < Cast(Getdate()-1 as date) then cast(ILE.Quantity as Numeric(19,6)) else 0 end AS [Opening],
case when Cast(ILE.[Posting Date] as date) <= Cast(Getdate()-1 as date) then cast(ILE.Quantity as Numeric(19,6)) else 0 end AS [Closing]
from [Item Ledger Entry] ILE
where Cast(ILE.[Posting Date] as date) <= Cast(Getdate()-1 as date)
union all
Select
case when Cast(ILE.[Posting Date] as date) < Cast(Getdate()-2 as date) then cast(ILE.Quantity as Numeric(19,6)) else 0 end AS [Opening],
case when Cast(ILE.[Posting Date] as date) <= Cast(Getdate()-2 as date) then cast(ILE.Quantity as Numeric(19,6)) else 0 end AS [Closing]
from [Item Ledger Entry] ILE
where Cast(ILE.[Posting Date] as date) <= Cast(Getdate()-2 as date)
Данные будут выглядеть следующим образом на изображении ниже. При использовании запроса выше https://i.stack.imgur.com/Hc6Co.png