Fórum Ms Sql - Resultados diferentes entre Delphi e Management Studio #574759

09/02/2017

0

O select postado abaixo retorna resultados diferentes se executado no Delphi e no Management Studio.
O resultado do delphi está errado.


DECLARE @ANOMESREF VARCHAR(10)
DECLARE @COD_PLANOFORNECEDOR VARCHAR(10)
DECLARE @NRCOMPARACAO INTEGER

SET @ANOMESREF = '201701'
SET @COD_PLANOFORNECEDOR = '0181471'
SET @NRCOMPARACAO = 20

SELECT @NRCOMPARACAO, @ANOMESREF, PP.ADMISSAO, PP.COD_PLANOCONVENIO,
PP.NR_UNIMED, '' AS CPF, SUBSTRING(PP.ASSOCIADO,1,40),
SUBSTRING(PP.TITULAR,1,40), 'SEGURO NÃO LOCALIZADO NO SISTEMA'
,0,PP.VALOR_PLANO
FROM PREPAGAMENTO PP
WHERE 1 = 1
AND SUBSTRING(RTRIM(LTRIM(PP.NR_UNIMED)),5,12) + RTRIM(LTRIM(PP.COBERTURA))
NOT IN (
SELECT RTRIM(LTRIM(AP.COD_ASSOCPLANOCONVENIO)) + RTRIM(LTRIM(PC.COBERTURA))
FROM ASSOCPLANO AP,
PLANOCONVENIO PC
WHERE 1 = 1
AND AP.SITUACAO = 'A'
AND PC.FK_CONVENIO = 1 -- UNIMED
AND AP.FK_PLANOCONVENIO = PC.PK_PLANOCONVENIO
)
Ivan Almeida

Ivan Almeida

Responder

Post mais votado

09/02/2017

Olá!

Quais são as diferenças no resultado? Quais componentes do Delphi está utilizando?

Jones

Jones Granatyr

Jones Granatyr
Responder

Gostei + 1

Mais Posts

09/02/2017

Ivan Almeida

Caro Jonas,

A diferença está no número de registros encontrados, basicamente o teste "NOT IN (
SELECT RTRIM(LTRIM(AP.COD_ASSOCPLANOCONVENIO)) + RTRIM(LTRIM(PC.COBERTURA)) " é que está furando.

Como estava com muita pressa optei por criar tabelas temporárias com as colunas já concatenadas e desta forma funcionou. Teoricamente não tem o menor sentido, mas vai entender.

Muito obrigado pela ajuda.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar