Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou precisando retornar o valor total de receita e valor total de despesas por mês nesse estilo:
Despesa Receita
Janeiro 50.00 200.00
Fevereiro 0 500.00
Março 100.00 500.00
Cheguei a essa consulta abaixo mas esta retornando o mesmo valor para todos os mês
SELECT MONTHNAME(`data_vencimento`) as mes, (SELECT SUM(`valor`) as valor_total FROM lancamentos WHERE tipo = 'despesa' and YEAR(`data_vencimento`) = 2022 AND `empresa` = 1) as despesas, (SELECT SUM(`valor`) as valor_total FROM lancamentos WHERE tipo = 'receita' and YEAR(`data_vencimento`) = 2022 AND `empresa` = 1) as receitas From lancamentos GROUP BY MONTH(`data_vencimento`) ORDER BY MONTH (`data_vencimento`);
O Retorno esta assim
Despesa Receita
Janeiro 50.00 200.00
Fevereiro 50.00 200.00
Março 50.00 200.00
Alguém consegue me ajudar com essa consulta?
ObrigadoPesquise por CASE e PIVOT
Criei uma tabela exemplo
tabela lancamentos
id data despesa receita
181 2022-01-31 25.00 100.00
182 2022-02-28 0.00 200.00
183 2022-03-31 25.00 100.00
184 2022-02-13 0.00 300.00
185 2022-01-25 25.00 100.00
186 2022-03-15 75.00 400.00
set lc_time_names='pt_BR';
select monthname(data) as mes,sum(despesa) as desp,sum(receita) as rec
from lancamentos group by mes;
mes desp rec
janeiro 50.00 200.00
fevereiro 0.00 500.00
março 100.00 500.00
Aconselho a fazer consultas mais simples e agregar aos poucos os outros parâmetros como o nome da empresa, o ano do faturamento e assim vai.
Oi!
Consegue colocar esse trecho no https://www.db-fiddle.com/ pra gente entender melhor e poder testar?