none
Dificuldade em achar diferença de valores de duas colunas RRS feed

  • Pergunta

  • Boa noite.

    Tenho a seguinte consulta SQL para demonstrar que aparentemente os valores de duas colunas são idênticos (ValorBaixa e SomaReceb):

    SELECT '' AS ID, a.codemi , c.nomcli , (SUM(a.valpag)) AS ValorBaixa, b.SomaReceb, '0.00' AS ValorRecebido, '' AS RecebidoPor, '' AS FormaRecebimento, '' AS ValorIgual, a.datpag FROM BoechatSoft_Constrular..arq020 a FULL JOIN (SELECT b.codemi, b.Data, SUM(b.ValorBaixa) AS SomaReceb FROM Covre..Recebimentos b GROUP BY b.codemi, b.Data) b ON a.codemi = b.codemi AND a.datpag = b.Data INNER JOIN BoechatSoft_Constrular..arq005 c ON a.codemi = c.codcli WHERE c.tipdoc = 'R' AND a.datpag = '20170916' AND a.origem = 'REC013' GROUP BY a.codemi, c.nomcli, b.SomaReceb, a.datpag HAVING SUM(a.valpag) <> 0

    Com os resultados:

    Porém, alguns destes registros parecem não ser idênticos:

    SELECT '' AS ID, a.codemi , c.nomcli , SUM(a.valpag) - b.SomaReceb AS ValorBaixa, '0.00' AS ValorRecebido, '' AS RecebidoPor, '' AS FormaRecebimento, '' AS ValorIgual, a.datpag FROM BoechatSoft_Constrular..arq020 a FULL JOIN (SELECT b.codemi, b.Data, SUM(b.ValorBaixa) AS SomaReceb FROM Covre..Recebimentos b GROUP BY b.codemi, b.Data) b ON a.codemi = b.codemi AND a.datpag = b.Data INNER JOIN BoechatSoft_Constrular..arq005 c ON a.codemi = c.codcli WHERE c.tipdoc = 'R' AND a.datpag = '20170916' AND a.origem = 'REC013' GROUP BY a.codemi, c.nomcli, b.SomaReceb, a.datpag HAVING SUM(a.valpag) <> 0 AND SUM(a.valpag) <> b.SomaReceb

    Resultado:

    Alguém saberia me dizer onde está o meu erro???

    Obrigado desde já!

    segunda-feira, 18 de setembro de 2017 02:02

Respostas

  • Deleted
    segunda-feira, 18 de setembro de 2017 09:21
  • Bom dia,

    Tenta fazer dessa forma:

    SELECT * 
    FROM (
    SELECT 
    '' AS ID, 
    a.codemi , 
    c.nomcli , 
    (SUM(a.valpag)) AS ValorBaixa, 
    b.SomaReceb, 
    '0.00' AS ValorRecebido, 
    '' AS RecebidoPor, 
    '' AS FormaRecebimento, 
    '' AS ValorIgual, 
    a.datpag 
    FROM BoechatSoft_Constrular..arq020 a 
    FULL JOIN (SELECT b.codemi, b.Data, SUM(b.ValorBaixa) AS SomaReceb FROM Covre..Recebimentos b GROUP BY b.codemi, b.Data) b ON a.codemi = b.codemi AND a.datpag = b.Data INNER JOIN BoechatSoft_Constrular..arq005 c ON a.codemi = c.codcli 
    WHERE c.tipdoc = 'R' AND a.datpag = '20170916' AND a.origem = 'REC013' 
    GROUP BY a.codemi, c.nomcli, b.SomaReceb, a.datpag HAVING SUM(a.valpag) <> 0)
    where ValorBaixa <> SomaReceb
    


    Carlos Henrique Quadrado - Lençóis Paulista - SP - Brasil

    ITIL v3 | ITMP |

    Caso a resposta tenha sido útil clique em Votar. Caso a resposta tenha resolvido sua necessidade marque como Resposta. smile

    Please use Vote As Helpful if a post was useful or use Marked as Answer if my post solved your necessity.  smile

    segunda-feira, 18 de setembro de 2017 13:11

Todas as Respostas

  • Deleted
    segunda-feira, 18 de setembro de 2017 09:21
  • Bom dia,

    Tenta fazer dessa forma:

    SELECT * 
    FROM (
    SELECT 
    '' AS ID, 
    a.codemi , 
    c.nomcli , 
    (SUM(a.valpag)) AS ValorBaixa, 
    b.SomaReceb, 
    '0.00' AS ValorRecebido, 
    '' AS RecebidoPor, 
    '' AS FormaRecebimento, 
    '' AS ValorIgual, 
    a.datpag 
    FROM BoechatSoft_Constrular..arq020 a 
    FULL JOIN (SELECT b.codemi, b.Data, SUM(b.ValorBaixa) AS SomaReceb FROM Covre..Recebimentos b GROUP BY b.codemi, b.Data) b ON a.codemi = b.codemi AND a.datpag = b.Data INNER JOIN BoechatSoft_Constrular..arq005 c ON a.codemi = c.codcli 
    WHERE c.tipdoc = 'R' AND a.datpag = '20170916' AND a.origem = 'REC013' 
    GROUP BY a.codemi, c.nomcli, b.SomaReceb, a.datpag HAVING SUM(a.valpag) <> 0)
    where ValorBaixa <> SomaReceb
    


    Carlos Henrique Quadrado - Lençóis Paulista - SP - Brasil

    ITIL v3 | ITMP |

    Caso a resposta tenha sido útil clique em Votar. Caso a resposta tenha resolvido sua necessidade marque como Resposta. smile

    Please use Vote As Helpful if a post was useful or use Marked as Answer if my post solved your necessity.  smile

    segunda-feira, 18 de setembro de 2017 13:11
  • Bom dia,

    Por falta de retorno essa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 25 de setembro de 2017 13:42
    Moderador