Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 можно ли тут что-то сделать  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
через pivot получил результат (см. картинку)

можно ли в строках 2015 и 2016 не выводить название оператора или ещё как-то сгруппировать

/************************************************************
 * Code formatted by SoftTree SQL Assistant © v6.0.86
 * Time: 02.11.2016 12:35:29
 ************************************************************/

SELECT *
FROM   (
           SELECT DATENAME(YEAR, smo.time_create) AS 'год',
                  CASE MONTH(smo.time_create)
                       WHEN 1 THEN 'Январь'
                       WHEN 2 THEN 'Февраль'
                       WHEN 3 THEN 'Март'
                       WHEN 4 THEN 'Апрель'
                       WHEN 5 THEN 'Май'
                       WHEN 6 THEN 'Июнь'
                       WHEN 7 THEN 'Июль'
                       WHEN 8 THEN 'Август'
                       WHEN 9 THEN 'Сентябрь'
                       WHEN 10 THEN 'Октябрь'
                       WHEN 11 THEN 'Ноябрь'
                       WHEN 12 THEN 'Декабрь'
                  END AS 'num_month',
                  CASE 
                       WHEN smo.ID LIKE '%[0]%' THEN 'Основной оператор'
                       ELSE 'Резервный оператор'
                  END AS operator
           FROM   MESSAGE_OUT smo
           WHERE  smo.TIME_CREATE >= '20140101'
       ) d
       PIVOT(
           COUNT([num_month]) FOR [num_month] IN ([Январь], [Февраль], [Март], 
                                                 [Апрель], [Май], [Июнь], [Июль], 
                                                 [Сентябрь], [Октябрь], [Ноябрь], 
                                                 [Декабрь])
       ) pvt
ORDER BY
       operator,
       [год] 

       


К сообщению приложен файл. Размер - 83Kb
2 ноя 16, 12:36    [19850200]     Ответить | Цитировать Сообщить модератору
 Re: можно ли тут что-то сделать  [new]
iljy
Member

Откуда:
Сообщений: 8711
NewIvanovec,

не вопрос, добавляете case ROW_NUMBER() over(partition by operator order by god) when 1 then operator else '' end.
но вообще занятие так себе, такими вещами клиент заниматься должен
2 ноя 16, 12:45    [19850277]     Ответить | Цитировать Сообщить модератору
 Re: можно ли тут что-то сделать  [new]
NewIvanovec
Member

Откуда: Msk
Сообщений: 582
iljy
NewIvanovec,

не вопрос, добавляете case ROW_NUMBER() over(partition by operator order by god) when 1 then operator else '' end.
но вообще занятие так себе, такими вещами клиент заниматься должен


спасибо
2 ноя 16, 14:23    [19851013]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить