Problemas com SQL envolvendo GROUP BY

Delphi

29/09/2003

Estou com problemas na query abaixo:
SELECT 
  PAGARRECEBER as PR, 
  sum(VALORMILHO) as SACAS, 
  avg(COTACAOMILHO) as COTACAOMEDIA, 
  (sum(VALORMILHO) * avg(COTACAOMILHO)) as PRECOMEDIO, 
  sum(VALOR)as TTVALOR 
FROM 
  PAGREC 
WHERE
  (DOCUMENTO <> "FECH")
GROUP BY 
  PAGARRECEBER


Quando a executo, as linhas que contem ´FECH´ entram no resultado.

Uso banco de dados Paradox.

A estrutura da minha tabela é a seguinte:
NOMETIPOSIZE
QUEMA5
PAGARRECEBERA1
DATAMOVD
DOCUMENTOA10
DATAVENCD
VALOR$
COTACAOMILHO$
VALORMILHO$
DESCRICAOA100
PGL


Tentem com estes dados:
INSERT INTO PAGREC (QUEM, PAGARRECEBER, DATAMOV, DOCUMENTO,  DATAVENC, VALOR, COTACAOMILHO, VALORMILHO, DESCRICAO, PG) VALUES ("00112", "C", 24/09/2003, "456", 24/09/2003, 15000, 20, 750, "COMPRA DE MILHO", FALSE)
INSERT INTO PAGREC (QUEM, PAGARRECEBER, DATAMOV, DOCUMENTO,  DATAVENC, VALOR, COTACAOMILHO, VALORMILHO, DESCRICAO, PG) VALUES ("00069", "D", 24/09/2003, "", 24/09/2003, 16000, 21.5, 744.19, "VENDA DE MILHO", FALSE)
INSERT INTO PAGREC (QUEM, PAGARRECEBER, DATAMOV, DOCUMENTO,  DATAVENC, VALOR, COTACAOMILHO, VALORMILHO, DESCRICAO, PG) VALUES ("00054", "C", 24/09/2003, "123", 24/09/2003, 500, 20, 25, "X", TRUE)
INSERT INTO PAGREC (QUEM, PAGARRECEBER, DATAMOV, DOCUMENTO,  DATAVENC, VALOR, COTACAOMILHO, VALORMILHO, DESCRICAO, PG) VALUES ("00054", "D", 24/09/2003, "654", 24/09/2003, 525, 21, 25, "VENDA", TRUE)
INSERT INTO PAGREC (QUEM, PAGARRECEBER, DATAMOV, DOCUMENTO,  DATAVENC, VALOR, COTACAOMILHO, VALORMILHO, DESCRICAO, PG) VALUES ("00054", "D", 26/09/2003, "FECH", 26/09/2003, 25, 12, 2.08, "FECHAMENTO DE MOVIMENTOS", FALSE)


Será que alguem consegue me explicar o que esta dando errado?
Agradeço desde a já pela atenção.


Ljr

Ljr

Curtidas 0

Respostas

Rodrigo Coutinho

Rodrigo Coutinho

29/09/2003

Olá amigo testei o seu codigo no aparadox o texto string é caseicensitive
então coloque no banco igual vc colocou na query. pois realizei o teste com FECH e fech e o resultado foi diferente.

[]s, Rodrigo Coutinho


GOSTEI 0
Ljr

Ljr

29/09/2003

Eu ja percebi que é casesensitive.

O problema esta no resultado da query...

Qdo executo, o registro cujo campo documento = ´FECH´ entra na pesquisa, enquanto o contrario deveria acontecer.

Vc tentou usar os dados que eu coloquei?


GOSTEI 0
Ljr

Ljr

29/09/2003

...


GOSTEI 0
Carlosrm

Carlosrm

29/09/2003

ljr,

eu já vi algo parecido em algum lugar:

tente trocar ´FECH´ por ´FECH´+coringas (´FECH*´, ou ´FECH¬´...) ou ainda ´FECH ´ (complete com espaços até ter o mesmo comprimento (size) que você definiu na tabela).

Se conseguir resolver, e quiser me dar um retorno, agradeço. Senão, pode me xingar também.
carlosrm :wink:


GOSTEI 0
Fabio.hc

Fabio.hc

29/09/2003

ljr,

Fiz um teste com os dados que vc passou e funcionou normal.


´Quando a executo, as linhas que contem ´FECH´ entram no resultado. ´


Estas linhas não entram no resultado e a linha em que o documento é vazio também não entra.


GOSTEI 0
Clebertom

Clebertom

29/09/2003

Tente usar o TRIM para retirar espacos e veja se funciona

(TRIM(DOCUMENTO) <> ´FECH´)


GOSTEI 0
POSTAR