Я пытаюсь завершить свертывание на MS SQL, чтобы моя колонка «DET» имела полную сумму в последней строке. Столбец «Прибытие» содержит символы, поэтому, если возможно, я просто пытаюсь, чтобы общая строка в этом столбце была NULL. Когда я сделал Group by Date, DET, Arrive with Rollup
, он делает промежуточные итоги, суммируя итоговые значения каждой даты (чего я не хочу, если это возможно).Как сделать свертывание в SQL Server?
Select Date = isnull(Date,'Total'), DET, Arrive = isnull(Arrive, 'Total') from
(select convert(VARCHAR, EventDate1, 112) as Date,
sum(CASE WHEN Depart = 'DET' and (ETStatus = 'F' or ETStatus = 'L' or ETStatus = 'C') THEN 1 ELSE 0 END) as DET, Arrive
from TicketCoupons
where EventDate1 >= '20160601' and EventDate1 <= '20160709'
group by convert(VARCHAR, EventDate1, 112), Arrive
)mytable
where PIT > '0'
group by Rollup(Date), DET, Arrive
order by Date
Кроме того, я новичок в SQL и я знаю, что мой код, скорее всего, неорганизованный, поэтому я заранее извиняюсь. Я ценю помощь!
Вы можете добавить образец данных и ожидаемый результат –