Tenemos una tabla que contendrá las claves que queremos totalizar:
CREATE TABLE tCodApi (
CodApi VARCHAR(25) NOT NULL,
PRIMARY KEY(CodApi)
);
La llenamos con las claves que necesitamos.
INSERT INTO tCodApi
SELECT CodApi
FROM tramApis
GROUP BY CodApi;
Ahora generamos una consulta de la siguiente manera, con el select más externo, recorremos la tabla de claves, y el GROUP_CONCAT va generando una única cadena que contendrá todos los valores del grupo. El concat más externo nos facilitará la tarea de generar la cadena final.
select
concat (
"SELECT t.FechaPeticion ",
group_concat(
concat(
", SUM(IF(.tCodApi = '", api.CodApi, "', 1, 0)) as '", api.CodApi, "'"
)
order by api.CodApi
separator " "
),
" FROM TramitacionAPIS t ",
" GROUP BY FechaPeticion ",
" ORDER BY FechaPeticion DESC ",
" LIMIT 0,20; "
) as pepe
FROM tCodApi api
where api.CodApi<>"--"
order by api.CodApi;
No hay comentarios:
Publicar un comentario