Member 14708330
Выберите [месяц],[количество] из (выберите
СУММА (СЛУЧАЙ, КОГДА ФУНКЦИЯ DATEPART (МЕСЯЦ,РУБЛЕЙ.Чекин) = 1 тогда 1 иначе 0 конец) 'января',
СУММА (СЛУЧАЙ, КОГДА ФУНКЦИЯ DATEPART (МЕСЯЦ,РУБЛЕЙ.Чекин) = 2 тогда 1 иначе 0 конец) 'февраля',
СУММА (СЛУЧАЙ, КОГДА ФУНКЦИЯ DATEPART (МЕСЯЦ,РУБЛЕЙ.Чекин) = 3 тогда 1 иначе 0 конец) 'марта',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 4 THEN 1 ELSE 0 END) 'Apr',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 5 THEN 1 ELSE 0 END) 'May',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 6 THEN 1 ELSE 0 END) 'Jun',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 7 THEN 1 ELSE 0 END) 'Jul',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 8 THEN 1 ELSE 0 END) 'Aug',
СУММА (СЛУЧАЙ, КОГДА ФУНКЦИЯ DATEPART (МЕСЯЦ,РУБЛЕЙ.Чекин) = 9 тогда 1 иначе 0 конец) 'сентября',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 10 THEN 1 ELSE 0 END) 'Oct',
SUM (CASE WHEN DATEPART (MONTH,RR.checkin) = 11 THEN 1 ELSE 0 END) 'Nov',
СУММА (СЛУЧАЙ, КОГДА ФУНКЦИЯ DATEPART (МЕСЯЦ,РУБЛЕЙ.Чекин) = 12 тогда 1 иначе 0 конец) 'декабря'
Из заказов RR с(NOLOCK)
Где год(RR.checkin)= 2020) tb1
оператор UNPIVOT (
считайте за [месяц] в (Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь)
) unpvt
CHill60
Я подозреваю, что вы были понижены в голосовании, потому что вопрос очень старый, и вы не отформатировали и не объяснили свое решение. Я частично противопоставил нисходящий голос, потому что это разумное элегантное решение и производит именно то, что хотел ОП (хотя и 5 лет назад)… впрочем, это можно было бы как-то объяснить. Лично я бы использовал более лаконичный вариант
select MM.[Month], MM.[text], ISNULL(COUNT(MONTH(RR.Checkin)), 0) as [count]
FROM (VALUES (1,'Jan'),(2,'Feb'),(3,'Mar'),(4,'Apr'),(5,'May'),(6,'Jun'),(7,'Jul'),(8,'Aug'),(9,'Sep'),(10,'Oct'),(11,'Nov'),(12,'Dec')) MM([Month], [text])
LEFT OUTER JOIN @Orders RR ON MM.[Month] = MONTH(RR.checkin) AND YEAR(RR.checkin)= 2019
GROUP BY MM.[Month], MM.[text]
именно это и предлагало решение 2.
Может быть, лучше всего придерживаться ответов на более свежие сообщения