Problemas com SQL envolvendo GROUP BY
Estou com problemas na query abaixo:
Quando a executo, as linhas que contem ´FECH´ entram no resultado.
Uso banco de dados Paradox.
Tentem com estes dados:
Será que alguem consegue me explicar o que esta dando errado?
Agradeço desde a já pela atenção.
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
Curtidas 0
Respostas
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
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
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?
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
29/09/2003
...
GOSTEI 0
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:
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
29/09/2003
ljr,
Fiz um teste com os dados que vc passou e funcionou normal.
Estas linhas não entram no resultado e a linha em que o documento é vazio também não entra.
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
29/09/2003
Tente usar o TRIM para retirar espacos e veja se funciona
(TRIM(DOCUMENTO) <> ´FECH´)
(TRIM(DOCUMENTO) <> ´FECH´)
GOSTEI 0