ivomar Postado Julho 7, 2011 Denunciar Share Postado Julho 7, 2011 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 7, 2011 Denunciar Share Postado Julho 7, 2011 "CAPABILITY NOT SUPPORTED"Capacidade não suportadanão estou conseguindo testar os valores nulo SUM(ISNULL(VLR1,0)+SUM(ISNULL(VLR2,0) AS TOTALse o valor é nulo como voce quer soma-lo ?abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ivomar Postado Julho 7, 2011 Autor Denunciar Share Postado Julho 7, 2011 Favor não replicar o tópico, se não for acrescentar nada novo ... obrigadoeditado por Jhonas... 15:34hsEu não sei quem tem valor ou quem está nulo por exemplo:vr1=100,00vlr2=nullO TOTAL deverá ser = 100,00vlr1=nullvlr2=100,01o total deverá ser = 100,01vlr1=nullvlr2=nullo total deverá ser = 0,00 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 7, 2011 Denunciar Share Postado Julho 7, 2011 neste caso use assim:QUERY1.SQL('SELECT COD,NOME,SUM(VLR1)+SUM(VLR2) AS TOTAL FROM TABELA);abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ivomar Postado Julho 7, 2011 Autor Denunciar Share Postado Julho 7, 2011 Olá Jhonas,quando eu faço sum(vlr1)+sum(vlr2) se um dos dois campos estiver nulo o TOTAL será nulo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 7, 2011 Denunciar Share Postado Julho 7, 2011 bem, vamos fazer um testefaç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 TABELATOT2 deverá apresentar um valor, mesmo tendo valores null ( a não ser que todos os registros sejam null )abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ivomar Postado Julho 7, 2011 Autor Denunciar Share Postado Julho 7, 2011 Fiz os teste e ficou assim:vlr1=100,00vlr2=nullTOTAL=NULLQUERY1.SQL('SELECT SUM(VLR1)+SUM(VLR2) AS TOTAL .... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 7, 2011 Denunciar Share Postado Julho 7, 2011 não sei como voce esta fazendo, mas eu uso dessa maneira e funciona perfeitamente com mysql, interbase, firebird, paradox .... pode ser problema do DBFjá 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 tabelasabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alberto Mota Postado Julho 9, 2011 Denunciar Share Postado Julho 9, 2011 (editado) 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 totalFROM dbo.tblvendadetalhesGROUP BY prod Editado Julho 9, 2011 por Alberto Mota Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ivomar
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 para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.