Olá pessoal,
sou novo em MYSQL e estou criando uma SP que esta me apresentando erro,
acredito que seja por causa do limite da variável.
SELECT
GROUP_CONCAT(DISTINCT
CONCAT('SUM(CASE WHEN subcategoria = "',
subcategoria,'" THEN total ELSE 0 end) AS "', subcategoria, '"'
)
)
INTO @sql
FROM v;
SET @sql = CONCAT('SELECT categoria, total ', @sql,'
FROM v ');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
separando o primeiro bloco o resultado é esse abaixo:
SUM(CASE WHEN subcategoria = "TESTE 01" THEN total ELSE 0 end) AS "TESTE 01",
SUM(CASE WHEN subcategoria = "TESTE 05" THEN total ELSE 0 end) AS "TESTE 05",
SUM(CASE WHEN subcategoria = "TESTE 02" THEN total ELSE 0 end) AS "TESTE 02",
SUM(CASE WHEN subcategoria = "TESTE 03" THEN total ELSE 0 end) AS "TESTE 03",
SUM(CASE WHEN subcategoria = "TESTE 04" THEN total ELSE 0 end) AS "TESTE 04"
acredito que seja esse resultado que a variável @sql não comporta.
Agradeço desde já por qualquer ajuda.