Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Opa... Resolvido!
tente
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