Jump to content
Fórum Script Brasil
  • 0

testar campo nulo


ivomar

Question

Preciso de uma grande ajuda.

Estou tendo que usar tabelas antigas em .DBF e não estou conseguindo testar os valores nulo já tentei:

1-QUERY1.SQL('SELECT COD,NOME,SUM(ISNULL(VLR1,0)+SUM(ISNULL(VLR2,0) AS TOTAL FROM TABELA GROUP BY COD,NOME');

2-QUERY1.SQL('SELECT COD,NOME,SUM(COALESCE(VLR1,0)+SUM(COALESCE(VLR2,0) AS TOTAL FROM TABELA GROUP BY COD,NOME');

3-QUERY1.SQL('SELECT COD,NOME,SUM(IFNULL(VLR1,0)+SUM(IFNULL(VLR2,0) AS TOTAL FROM TABELA GROUP BY COD,NOME');

4-QUERY1.SQL('SELECT COD,NOME,SUM(NVL(VLR1,0)+SUM(NVL(VLR2,0) AS TOTAL FROM TABELA GROUP BY COD,NOME');

O ERRO É SEMPRE O MESMO "CAPABILITY NOT SUPPORTED"

alguém tem uma dica???????????????

Grato,

Ivomar

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Favor não replicar o tópico, se não for acrescentar nada novo ... obrigado

editado por Jhonas... 15:34hs

Eu não sei quem tem valor ou quem está nulo por exemplo:

vr1=100,00

vlr2=null

O TOTAL deverá ser = 100,00

vlr1=null

vlr2=100,01

o total deverá ser = 100,01

vlr1=null

vlr2=null

o total deverá ser = 0,00

Link to comment
Share on other sites

  • 0

bem, vamos fazer um teste

faça esse teste e veja os resultados:

SELECT SUM( VLR1) AS TOT1 FROM TABELA
TOT1 deverá apresentar um valor, mesmo tendo valores null ( a não ser que todos os registros sejam null )
SELECT SUM( VLR2) AS TOT2 FROM TABELA

TOT2 deverá apresentar um valor, mesmo tendo valores null ( a não ser que todos os registros sejam null )

abraço

Link to comment
Share on other sites

  • 0

não sei como voce esta fazendo, mas eu uso dessa maneira e funciona perfeitamente com mysql, interbase, firebird, paradox .... pode ser problema do DBF

já que voce esta usando QUERY1, clique com o botão direito do mouse no componente QUERY1 e selecione SQL Builder... é uma maneira mais facil de testar a clausula Select em cima das suas tabelas

abraço

Link to comment
Share on other sites

  • 0

Uso o select abaixo no sql server sem problemas.

Quando for nulo coloca 0, caso contrário o próprio valor.

SELECT prod, SUM(CASE WHEN dbo.tblvendadetalhes.vr = NULL THEN 0 ELSE dbo.tblvendadetalhes.vr END) AS total

FROM dbo.tblvendadetalhes

GROUP BY prod

Edited by Alberto Mota
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...