-
Conteúdo Similar
-
Por rtfacincani
Prezados, necessito gerar uma consulta ao banco de dados Oracle e estou enfrentando dificuldades em retornar valores. Abaixo vou explicar como as tabelas estão montadas
Tab1:NotaFiscal
codnota,datanota,codveiculo,datasaida,datachegada
Tab2:Combustivel
codveiculo,dataabastecimento,kmpercorrido,qtdlitros,medialistros
O que preciso? Preciso saber dentro do período da NotaFiscal, qual o veículo que entre a datasaida e datachegada, foram abastecidos, e qual o total de kilometros percorridos entre as datas de saida e chegada da notafiscal.
A saída ficaria assim:
codnota,datanota,codveiculo,totalkmpercorrido,totalqtdlitros,medialitros.
Tentei algo assim, mas não deu certo estou tendo esta dificuldade:
select n.codnota,n.datanota,n.codveiculo,sum(c.totalkmpercorrido) as totalkmpercorrido,sum(c.totalqtdlitros) as totalqtdlitros,avg(c.medialitros) as medialitros from notafiscal n inner join combustivel c on n.codveiculo = c.codveiculo
where c.dataabastecimento between n.datasaida and n.datachegada
group by codnota,datanota,codveiculo
Porém não estou conseguindo retornar os valores, principalmente por não ter em combustível o motivo para o abastecimento, visto que pode ser que seja uma viagem e entre a datasaida e datachegada pode existir vários abastecimentos e a única coisa que tenho para ligar é o código do veículo e as datas de saída e chegada emitida pela nota.
Será que alguém poderia me auxiliar com essa consulta?
-