#sql #pivot #transform
Вопрос:
TRANSFORM Sum(QUANTIDADE) AS SumOfQUANTIDADE
SELECT SUPERVISOR, Sum(QUANTIDADE) AS Total
FROM REPORTING
WHERE (((REPORTING.FAMILIA)="TESTE1" Or (REPORTING.FAMILIA)="TESTE2" In (select [00 - Max Data Report].[MaxOfCODMES_REPORT] from [00 - Max Data Report])))
GROUP BY COORDENADOR, SUPERVISOR
ORDER BY COORDENADOR
PIVOT Val([COD_DIA]);
Результат:
Руководитель | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Руководитель 1 | 43 | 55 | 12 | 81 |
Руководитель 2 | 31 | 22 | 43 | 23 |
Супервайзер 3 | 54 | 67 | 77 | 55 |
Супервайзер 4 | 42 | 22 | 11 | 56 |
Я пытаюсь преобразовать этот запрос в sql server. вышеизложенное является результатом запроса в access. заголовки столбцов-это месяцы, которые включены в столбец cod_dia из таблицы на сервере. если мы находимся в конце месяца, то он, например, введет 31 столбец.
select * from (
select SUPERVISOR,Sum(QUANTIDADE) AS Total
FROM REPORTING
where FAMILIA='TESTE1' or FAMILIA='TESTE2' In (select [MaxOfCODMES_REPORT] from [00 - Max Data Report ESALES]) group by supervisor,coordenador) t pivot (Sum(QUANTIDADE) for QUANTIDADE in (cod_dia)) as p
я попробовал это в sql server, но в нем говорится, что он не распознает «Quantidade» в последней строке, но должен, потому что, если выбрать этот столбец из этой базы данных, он покажет этот столбец. Если, конечно, я не делаю что-то не так в запросе
Msg 207, Level 16, State 1, Line 10
Invalid column name 'QUANTIDADE'.
Msg 207, Level 16, State 1, Line 10
Invalid column name 'QUANTIDADE'.