MySQL Query and Pivot Tables
Meu banco de dados MySQL possui os seguintes títulos de coluna:
month, typeOfWork, totalHours
Estou interessado em exibir os resultados de acordo com o typeOfWork e o mês. Por exemplo, todas as entradas typeOfWork serão exibidas na primeira coluna à esquerda e cada campo totalizará esse typeOfWork específico no mês especificado de cada coluna. Como tal, minha instrução de tabela dinâmica SQL é atualmente:
SELECT
IFNULL(typeOfWork, 'Total') AS TypeOfWork,
SUM(IF(month='JAN',totalHours,NULL)) AS JAN,
SUM(IF(month='FEB',totalHours,NULL)) AS FEB,
SUM(IF(month='MAR',totalHours,NULL)) AS MAR,
SUM(IF(month='APR',totalHours,NULL)) AS APR,
SUM(IF(month='MAY',totalHours,NULL)) AS MAY,
SUM(IF(month='JUN',totalHours,NULL)) AS JUN,
SUM(IF(month='JUL',totalHours,NULL)) AS JUL,
SUM(IF(month='AUG',totalHours,NULL)) AS AUG,
SUM(IF(month='SEP',totalHours,NULL)) AS SEP,
SUM(IF(month='OCT',totalHours,NULL)) AS OCT,
SUM(IF(month='NOV',totalHours,NULL)) AS NOV,
SUM(IF(month='DEC',totalHours,NULL)) AS DEC
FROM $databasetable GROUP BY typeOfWork
WITH ROLLUP
No momento, estou recebendo um erro de sintaxe ao especificar a última linha (de 'DEC até ROLLUP'). Minha confusão vem do fato de eu simplesmente ter adaptado essa tabela de outra tabela dinâmica de trabalho no meu script. Acho que a diferença pode estar nos meus dois requisitos (soma total de horas em que mês é igual ao nome da coluna E typeOfWork é igual a typeOfWork na primeira coluna). Pergunto-me se minhas declarações IF requerem uma cláusula AND?
Alguém pode me apontar na direção certa com esta tabela dinâmica? Seria muito apreciado. Obrigado