У меня есть рабочий запрос, где я могу экспортировать в Excel и поворачивать себя, чтобы не группироваться по столбцу fldTrancationDateTime
, и это прекрасно работает в качестве краткосрочного решения.
Является ли здесь единственной возможностью использовать сводную строку SQL, поэтому я могу группировать только по Product
и заполнять каждый диапазон дат? Вместо одной строки для каждой даты? Или я собираюсь кодировать это неправильно?
declare @Date Date
set @Date = GETDATE()
print(@Date)
select T.fldProductCode, P.fldProductDescription, count(fldTransactionID),
case when datediff(d,cast(T.fldTransactionDateTime as date),@Date ) <= 7
then count(fldTransactionID) else 0 end as [0-7 Days],
case when datediff(d,cast(T.fldTransactionDateTime as date),@Date ) > 7 and datediff(d,cast(T.fldTransactionDateTime as date),@Date ) <= 14
then count(fldTransactionID) else 0 end as [7-14 Days],
case when datediff(d,cast(T.fldTransactionDateTime as date),@Date ) > 14 and datediff(d,cast(T.fldTransactionDateTime as date),@Date ) <= 21
then count(fldTransactionID) else 0 end as [14-21 Days],
case when datediff(d,cast(T.fldTransactionDateTime as date),@Date ) > 21 and datediff(d,cast(T.fldTransactionDateTime as date),@Date ) <= 28
then count(fldTransactionID) else 0 end as [21-28 Days],
case when datediff(d,cast(T.fldTransactionDateTime as date),@Date ) > 28
then count(fldTransactionID) else 0 end as [28+ Days]
from [transaction] T
join product P on P.fldProductCode = T.fldProductCode
where T.fldTransactionSold = 0
group by P.fldProductDescription,T.fldProductCode, cast(fldTransactionDateTime as DATE)