Ajuda com a clausula distinct, comportamento estranho
Bom dia pessoal..
Estou tendo problemas na construção de uma query que utiliza o distinct..
A instrução em sql seria basicamente essa:
Qdo executo essa query no paradox.. tenho o seguinte resultado
Agora qdo executo a mesma qry em uma base Firebird tenho o seguinte resultado:
A clausula distinct tem comportamento diferente no firebird?
Qual seria a solução para por exemplo, mostrar um extrato de um caixa ?
Grato
Fausto
Estou tendo problemas na construção de uma query que utiliza o distinct..
A instrução em sql seria basicamente essa:
select caidat, cailan, caival, sum (distinct caival) from caixa group by caidat, cailan, caival
Qdo executo essa query no paradox.. tenho o seguinte resultado
Data Lan Valor Saldo 01/11/2005 87 250,00 250,00 01/11/2005 88 200,00 450,00 01/11/2005 89 200,00 650,00 01/11/2005 99 -435,00 215,00 04/11/2005 91 300,00 515,00
Agora qdo executo a mesma qry em uma base Firebird tenho o seguinte resultado:
Data Lan Valor Saldo 01/11/2005 87 250,00 250,00 01/11/2005 88 200,00 200,00 01/11/2005 89 200,00 200,00 01/11/2005 99 -435,00 435,00 04/11/2005 91 300,00 300,00
A clausula distinct tem comportamento diferente no firebird?
Qual seria a solução para por exemplo, mostrar um extrato de um caixa ?
Grato
Fausto
Faustoalves
Curtidas 0
Respostas
Acacio
25/10/2006
Cara, para ter dado está diferença as bases não podem estar iguais, já verificasse sem o distinct se os valores batem.
GOSTEI 0
Faustoalves
25/10/2006
Amigo acho que vc não entendeu..
as bases são as mesmas.. observe que em uma ele soma o saldo linha a linha e na outra não..
Fausto
as bases são as mesmas.. observe que em uma ele soma o saldo linha a linha e na outra não..
Fausto
GOSTEI 0
Acacio
25/10/2006
Bom não sei se entendi direito ainda, mas vamos la. Um problema que eu vi é se tais dando um sum no campo ´caival´ e queres mostrar ele antes. Ai tens que colocar no grupo by. Bom ai cada vez que mudar este valor ele vai quebrar, ou seja se tais dando um sum é inutil colocar o valor antes, pois deste modo eles sempre serão iguais. Outro problema é o distinct aonde está. O distinc vai funcionar para o select todo e não somente para aquele campo.
Simulei aqui numa base e os valores batem corretamente.
Simulei aqui numa base e os valores batem corretamente.
GOSTEI 0