Usuário com melhor resposta
Dificuldade em achar diferença de valores de duas colunas

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á!
Respostas
-
Deleted
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 25 de setembro de 2017 13:41
-
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.
Please use Vote As Helpful if a post was useful or use Marked as Answer if my post solved your necessity.
- Sugerido como Resposta Marcos Roberto de Lima segunda-feira, 18 de setembro de 2017 18:32
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 25 de setembro de 2017 13:41
Todas as Respostas
-
Deleted
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 25 de setembro de 2017 13:41
-
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.
Please use Vote As Helpful if a post was useful or use Marked as Answer if my post solved your necessity.
- Sugerido como Resposta Marcos Roberto de Lima segunda-feira, 18 de setembro de 2017 18:32
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 25 de setembro de 2017 13:41
-
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.