update com dados de outra tabela com duas condiçoes

Firebird

27/07/2013

Boa Dia a todos

Venho pedir a ajuda de voces para o update abaixo, pois não sei porque acontece isso

TABELAS ENVOLVIDAS

MOVIMENTOFINANCEIRO
CAMPOS: titular, cdpessoa, tipolancamento


FORNECEDORES
CAMPOS: cdfornecedor, razaosocial


CLIENTES
CAMPOS: cdcliente, razaosocial


UPDATE movimentofinanceiro M SET M.titular = (select min(F.razaosocial) from FORNECEDORES F
WHERE M.tipolancamento = 'P' AND F.cdfornecedor = COALESCE(M.cdpessoa,''))

O update funciona perfeitamente lê a razão social na tabela FORNECEDORES e grava no campo TITULAR da tabela MOVIMENTOFINANCEIRO conforme o tipo de lançamento 'P' e codigo da pessoa




UPDATE movimentofinanceiro M SET M.titular = (select min(C.razaosocial) from CLIENTES C
WHERE M.tipolancamento = 'R' AND C.cdcliente = COALESCE(M.cdpessoa,''))

O update funciona perfeitamente lê a razao social da tabela CLIENTES E grava no campo TITULAR tabela MOVIMENTOFINANCEIRO conforme o tipo de lançamento 'R' e codigo da pessoa

Só que apos esse segundo select ele apaga o que foi feito no primeiro

Se puderem me ajudar fico muito agradecido
Marcio Machado

Marcio Machado

Curtidas 0
POSTAR