Ir para conteúdo

Arquivado

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

FabianoSouza

Exibir SOMA em JOIN

Recommended Posts

Pessoal, preciso montar o clássico "valor previsto" e "valor gasto" (ou realizado) .

Meu valor previsto é o campo Forecast.Valor. O usuário grava um valor neste campo.

 

Já o valor realizado é obtido de uma soma na tab Operacoes.

 

Puxo tudo com JOIN por meio de uma tab chamada Eventos, que faz a relação com as outras duas tabs.

Vejam a consulta.

SELECT
Forecast.Valor, SUM(Operacoes.OperacoesValor)AS TotalRealizado 
FROM Eventos 

LEFT OUTER JOIN 
Operacoes ON Eventos.EventosCod = Operacoes.OperacoesCodItemRequerente
AND 
Eventos.EventosCodServico = Operacoes.OperacoesCodServicoRequerente

LEFT OUTER JOIN
Forecast ON Eventos.CodigoForecast = Forecast.ForecastCod

GROUP BY Forecast.Valor, Operacoes.OperacoesValor

O problema é que a soma da tab Operacoes não funciona. Acaba listando quatro registros (oriundos da tab Operacoes).

 

Como monto essa consulta?

 

Agradeço desde já.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem saber das tabelas e seus relacionamentos fica difícil saber.

 

Uma dica nestes casos é rodar a query com "select *" sem agrupamento e ver o ela trás, fica mais fácil corrigir o problema, faça isto para um caso especifico, um código item etc.

=================================================

Eventos não é usada no result set, porque entra no "from" ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Motta!

Segue um print para ajudar a ilustrar.

consulta.png

 

A tabela FORECAST registra, no campo Valor, a previsão de gastos para um item da tab EVENTOS.

A tab OPERACOES registra as despesas realizadas para o sistema todo, por isso está relacionada com a tab EVENTOS por meio de dois campos.

 

Preciso exibir, entre outros, o campo Valor (tab FORECAST) e a soma do campo OperacoesValor (tab OPERACOES)

para um determinado Evento

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma tabela virtual que seria um join de eventos com operacoes, esta tabela virtua faz então join com a forecast e ai se compara o previsto x realizado.

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.