COMPARAR BASE DE DADOS E EMITIR RELATORIO DA DIFER
Boa noite amigos, estou precisando fazer um sistema aqui da seguinte forma, eu tenho um cadastro de clientes por exemplo e nele eu tenho um campo para cadastrar o valor do contrato do cliente, exemplo 60,00, eu recebo um arquivo txt de comissao vindo de uma empresa parceira, que exemplo o cliente codigo 19099 = 60,00, quando eu importo o arquivo se vier no cliente codigo 19099 = 35,00 ou seja, o valor da comissao veio diferente do definido no cadastro.. qual a melhor forma de eu fazer esse sistema? queria so que as diferenças fossem impressas num relatorio para mim, entenderam? ha, o arquivo txt logico vou importar para uma tabela, chamada de MOVIMENTACOES, e ele tem que comparar na tabela CLIENTES os campos exemplo :
na tabela CLIENTES tem um campo com nome VALORCONTRATO
na tabela MOVIMENTACOES tem um campo que chama VALORRECEBIDO
como vou fazer para as duas tabelas chocarem, e as diferenças serem impressas para mim em um relatorio?
Desde ja agradeço a atençao.
na tabela CLIENTES tem um campo com nome VALORCONTRATO
na tabela MOVIMENTACOES tem um campo que chama VALORRECEBIDO
como vou fazer para as duas tabelas chocarem, e as diferenças serem impressas para mim em um relatorio?
Desde ja agradeço a atençao.
Angel,
Supondo que as tabelas tenham as caracterÃsticas mÃnimas a seguir:
Voce pode criar uma Stored Procedure como a abaixo e na volta alimentar um RECORSET (ou similar) ou usar no CRISTAL (ou similar)
Supondo que as tabelas tenham as caracterÃsticas mÃnimas a seguir:
CREATE TABLE Clientes
( CodCli INT,
ValorContrato NUMERIC(15,2))
CREATE TABLE Movimentos
( Data DATETIME,
CodCli INT,
ValorRecebido NUMERIC(15,2),
Processado CHAR(1))
Voce pode criar uma Stored Procedure como a abaixo e na volta alimentar um RECORSET (ou similar) ou usar no CRISTAL (ou similar)
CREATE PROCEDURE ProcessaDiferencas
AS
BEGIN
CREATE TABLE #Diferentes
( Data DATETIME,
CodCli INT,
ValorRecebido NUMERIC(15,2))
INSERT INTO #Diferentes
(Data, CodCli, ValorRecebido)
SELECT Data, CodCli, ValorRecebido
FROM Movimentos
WHERE Processado <> [ô]S[ô]
UPDATE Movimentos
SET Processado = [ô]S[ô]
WHERE Processado <> [ô]S[ô]
SELECT Dif.Data,
Dif.CodCli,
Dif.ValorRecebido,
Cli.ValorContrato,
Cli.ValorContrato - Dif.ValorRecebido AS Diferenca
FROM #Diferentes Dif
INNER JOIN Clientes Cli
ON Cli.CodCli = Dif.CodCli
WHERE Cli.ValorContrato <> Dif.ValorRecebido
END
Você pode fazer uma tabela temporaria que armazena esses valores e depois imprima a tabela
XXXANGELSXXX,
E ai, atendeu à sua necessiadade? Se sim, feche o tópico.
Obrigado,
E ai, atendeu à sua necessiadade? Se sim, feche o tópico.
Obrigado,
Tópico encerrado , respostas não são mais permitidas