Ir para conteúdo

Arquivado

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

rrrpadilha

Consulta SQL / POSTGRESQL

Recommended Posts

Boa tarde,

 

Estou com uma grande dúvida/problema preciso extrair do banco algumas informações e cheguei ao seguinte script:

 

Select Distinct
veiculo.placa,
veiculo.tipoveiculo,
veiculo.tipofrota,
veiculo.capacidadecarga,
Count(coleta.numero) As qtdecoleta,
Count(conhecimento.numero) as qtdentrega,
conhecimento.tipo,
SUM(coleta.valorfrete) As fretecoleta,
SUM(conhecimento.valorliquido) As freteentrega
from
veiculo inner join coleta on veiculo.placa = coleta.veiculo
inner join
conhecimento on veiculo.placa = conhecimento.veiculo
where
veiculo.placa = 'xxxxx' and coleta.dtemissao between '01-01-2014' and '05-02-2014' and conhecimento.dtemissao between '01-01-2014' and '05-02-2014'
group by veiculo.placa, veiculo.tipoveiculo, veiculo.tipofrota, veiculo.capacidadecarga,conhecimento.tipo;
O problema é que a contagem é da linha ou seja coleta e conhecimentos vem com valores iguais....
Alguém sabe se tem como alterar a função COUNT para que se houver números iguais nas linhas desconsidere na contagem?
Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

 

Select
veiculo.placa,
veiculo.tipoveiculo,
veiculo.tipofrota,
veiculo.capacidadecarga,
Count(Distinct coleta.numero) As qtdecoleta,
Count(Distinct conhecimento.numero) as qtdentrega,
conhecimento.tipo,
SUM(coleta.valorfrete) As fretecoleta,
SUM(conhecimento.valorliquido) As freteentrega
from
veiculo inner join coleta on veiculo.placa = coleta.veiculo
inner join
conhecimento on veiculo.placa = conhecimento.veiculo
where
veiculo.placa = 'xxxxx' and coleta.dtemissao between '01-01-2014' and '05-02-2014' and conhecimento.dtemissao between '01-01-2014' and '05-02-2014'

group by veiculo.placa, veiculo.tipoveiculo, veiculo.tipofrota, veiculo.capacidadecarga,conhecimento.tipo

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.