Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Joiresende

Calcular valores entre duas tabelas

Recommended Posts

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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.