Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Sou iniciante e o que estou querendo parece fácil, mas não consegui de maneira alguma.
Tenhos duas tabelas, Vendas e despesas.
Em vendas tenho os campos
Data da venda
Item
Valor
e em despesas
Data da despesa
item
valor
O que estou querendo é um resumo de vendas mensais menos as depesas.
Ou seja . Saldo = Vendas - despesas
Consigo fazer esse resumo separadamente com as seguintes consulta.
SELECT
MONTHNAME(Datavenda) AS Mes,
SUM(venda) AS Vendas mensais,
Datavenda
FROM vendas
GROUP BY MONTHNAME(Datavenda)
ORDER BY Datavenda DESC
SELECT
MONTHNAME(Datadespesa) AS Mes,
SUM(despesas) AS Despesas mensais,
Datadespesa
FROM despesas
GROUP BY MONTHNAME(Datadespesa)
ORDER BY Datadespesa DESC
Tem como juntar estas duas consultas, ou tem outro método ?
Obrigado
João
Motta, obrigado pela resposta rápida
Pesquisei bastante, mas como não tenho muita experiência não consegui.
Você teria algum exemplo.
uma forma
select vendas. , despesas.
from
(
SELECT
MONTHNAME(Datavenda) AS Mes,
SUM(venda) AS Vendas mensais,
Datavenda
FROM vendas
GROUP BY MONTHNAME(Datavenda)
) vendas,
(
SELECT
MONTHNAME(Datadespesa) AS Mes,
SUM(despesas) AS Despesas mensais,
Datadespesa
FROM despesas
GROUP BY MONTHNAME(Datadespesa)
) despesas
where vendas.mes =despesas.mes
repare que sua query não trata ANO ela vai somar todos o meses iguais de anos diferentes, exemplo vai somar todos o "marços" de 2013,2012,2011 (o que houver na base).
Uma forma seria por JOIN fazendo das duas queries tabelas virtuais.
Outra solução seria fazer um UNION e usar o CASE para montar as colunas.
Exemplos aos montes na web e neste site.