PIVOT Несколько столбцов с различными расчетами - PullRequest
0 голосов
/ 02 октября 2018

Я знаю, что этот вопрос был задан, но я еще не нашел ответ, который подходит для моей проблемы

У меня есть эта структура

Table structure

Мне нужно повернуть счетчик записей, утверждено, Подписано за день, чтобы оно выглядело так:

Pivoted

Пожалуйста, дайте мне знать, еслиВы нуждаетесь во мне, чтобы предоставить что-нибудь еще.спасибо

1 Ответ

0 голосов
/ 02 октября 2018

Функции даты довольно специфичны для базы данных.Следующее дает идею и должно работать в большинстве баз данных:

select month(date) as mon, year(date) as yr, which,
       sum(case when day(date) = 1 then 1 else 0 end) as day_01,
       sum(case when day(date) = 2 then 1 else 0 end) as day_02,
       . . .
       sum(case when day(date) = 31 then 1 else 0 end) as day_31
from ((select date, 'reccount' as which, 1 as val from t
      ) union all
      (select date, 'approved' as which, approved as val from t
      ) union all
      (select date, 'signed' as which, signed as val from t
      ) 
     ) t
group by month(date), year(date), which
order by min(date), which ;
...