Reverson 0 Denunciar post Postado Abril 26, 2012 Bom dia a todos ! Estou solicitando a ajuda dos colegas para me ajudarem com um pequeno problema Me deparei com uma situação a qual eu não encontrei solução por meio de uma única consulta no Mysql Tenho um sistema de contas a receber e preciso retornar a soma dos recebimentos mes a mes agrupados cor cliente em uma unica linha mas separados por mes ou seja: Nome Janeiro Fevereiro Março Abril Maio etc ------------------ --------- --------- --------- --------- --------- --- Fulano 10,00 100,00 0,00 1000,00 50,00 Beltrano 13,00 190,00 0,00 900,00 60,00 João 20,00 140,00 0,00 100,00 70,00 Sendo que na base de dados tem o nome e a data do vencimento dd/mm/aaaa Tentei usar o case e when mas os resultados foram frustrantes no sentido de separar os valores pelo mes. Alguem ja passou por isso e pode me ajudar? desde já agradeço a atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Abril 26, 2012 quando tive que fazer isso me deu um problema muito grande também onde só conseguir resolver no código da linguagem em que programava no caso PHP. retornei tudo e fui tratando as matrizes de forma que desmontava e criava uma nova até chegar onde queria. procure algo sobre LEFT JOIN depois vim pesquisar mais sobre o isso e descobri que isso pode ajudar.. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 26, 2012 Tentei usar o case e when mas os resultados foram frustrantes no sentido de separar os valores pelo mes. Publique a query em que tentou fazer. Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Abril 27, 2012 Partindo do principio que você quer exibir apenas as coisas desse ano [ year(vencimento) = year(now()) ] : Select funcionario, Sum(Jan) Jan , Sum(Fev) Fev, Sum(Mar) Mar, Sum(Abr) Abr, Sum(Mai) Mai , Sum(Jun) Jun, Sum(Jul) Jul, Sum(Ago) Ago, Sum(Set) Set, Sum(Out) Out , Sum(Nov) Nov, Sum(Dez) Dez from ( select funcionario, if(month(vencimento)=1 and year(vencimento) = year(now()),valor,0) Jan, if(month(vencimento)=2 and year(vencimento) = year(now()),valor,0) Fev, if(month(vencimento)=3 and year(vencimento) = year(now()),valor,0) Mar, if(month(vencimento)=4 and year(vencimento) = year(now()),valor,0) Abr, if(month(vencimento)=5 and year(vencimento) = year(now()),valor,0) Mai, if(month(vencimento)=6 and year(vencimento) = year(now()),valor,0) Jun, if(month(vencimento)=7 and year(vencimento) = year(now()),valor,0) Jul, if(month(vencimento)=8 and year(vencimento) = year(now()),valor,0) Ago, if(month(vencimento)=9 and year(vencimento) = year(now()),valor,0) Set, if(month(vencimento)=10 and year(vencimento) = year(now()),valor,0) Out, if(month(vencimento)=11 and year(vencimento) = year(now()),valor,0) Nov, if(month(vencimento)=12 and year(vencimento) = year(now()),valor,0) Dez )z group by funcionario Compartilhar este post Link para o post Compartilhar em outros sites