Tenho uma planilha de Excel que importo para o MySQL entretanto o layout da mesma não seguiu uma padrão de fácil utilização, ex:
existem 4 colunas benefícios para um mesmo registro assim como função e finalidade do registro,
o que eu preciso é que a consulta me retorne:
data, benefícios(soma por tipo), função(soma por tipo), finalidade(soma por tipo)
o campo data serviria apenas para o filtro o resultado seria mais ou menos esse
beneficio | total
foto |50
currículo |100
e assim com função e finalidade
SELECT ats_data, ats_filial, sum(`ats_beneficios1`) + sum(`ats_beneficios2`) + sum(`ats_beneficios3`) + sum(`ats_beneficios4`) as total
FROM `atendimentos_simples` wHERE `ats_beneficios1` like '%foto%' or `ats_beneficios2` like '%foto%' or `ats_beneficios3` like '%foto%'
or `ats_beneficios4` like '%foto%'and ats_data BETWEEN '2019-07-01' AND '2019-07-31' group by ats_filial
essa consulta não esta funcionando o filtro da data sempre me trazendo o total, já tentei usar subselect mas falhei.
se puderem me ajudar por favor, trabalho com uma entidade publica e mudar a planilha esta fora de questão(infelizmente)
O mais proximo que cheguei foi
select ats_filial, ats_data,
@a:=(select COUNT(ats_beneficios1) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios1 like '%foto%') as b1,
@b:=(select COUNT(ats_beneficios2) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios2 like '%foto%') as b2,
@c:=(select COUNT(ats_beneficios3) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios3 like '%foto%') as b3,
@d:=(select COUNT(ats_beneficios4) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios4 like '%foto%') as b4,
convert(substring(@e:=@a+@b+@c+@d,1,2), integer) as total
from atendimentos_simples
group by ats_filial
Erros:
Resultado se repete em cada linha das 10 filiais
Se retiro o group by o resultado continua se repetindo mas todas as linhas são exibidas como um totalizador para cada registro.
Pergunta
erosidin
Boa tarde amigos,
Tenho uma planilha de Excel que importo para o MySQL entretanto o layout da mesma não seguiu uma padrão de fácil utilização, ex:
existem 4 colunas benefícios para um mesmo registro assim como função e finalidade do registro,
o que eu preciso é que a consulta me retorne:
data, benefícios(soma por tipo), função(soma por tipo), finalidade(soma por tipo)
o campo data serviria apenas para o filtro o resultado seria mais ou menos esse
beneficio | total
foto |50
currículo |100
e assim com função e finalidade
SELECT ats_data, ats_filial, sum(`ats_beneficios1`) + sum(`ats_beneficios2`) + sum(`ats_beneficios3`) + sum(`ats_beneficios4`) as total
FROM `atendimentos_simples` wHERE `ats_beneficios1` like '%foto%' or `ats_beneficios2` like '%foto%' or `ats_beneficios3` like '%foto%'
or `ats_beneficios4` like '%foto%'and ats_data BETWEEN '2019-07-01' AND '2019-07-31' group by ats_filial
essa consulta não esta funcionando o filtro da data sempre me trazendo o total, já tentei usar subselect mas falhei.
se puderem me ajudar por favor, trabalho com uma entidade publica e mudar a planilha esta fora de questão(infelizmente)
O mais proximo que cheguei foi
select ats_filial, ats_data,
@a:=(select COUNT(ats_beneficios1) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios1 like '%foto%') as b1,
@b:=(select COUNT(ats_beneficios2) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios2 like '%foto%') as b2,
@c:=(select COUNT(ats_beneficios3) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios3 like '%foto%') as b3,
@d:=(select COUNT(ats_beneficios4) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios4 like '%foto%') as b4,
convert(substring(@e:=@a+@b+@c+@d,1,2), integer) as total
from atendimentos_simples
group by ats_filial
Erros:
Resultado se repete em cada linha das 10 filiais
Se retiro o group by o resultado continua se repetindo mas todas as linhas são exibidas como um totalizador para cada registro.
Obrigado.
Editado por erosidinLink para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.