Fazer update em campo vazio
Pessoal
Como poderia fazer um update em um campo recebendo valor de outra tabela. No caso normalmente se faz um update em um campo mas coloca-se valor fixo.
Preciso fazer um update no campo cdclidest ( Cliente destino) que está na tabela FMSOLSERV através do campo cdclidest ( Cliente destino) que está na tabela FMITEMCONTRATO sendo que vários clientes da tabela FMITEMCONTRATO podem ter o Cliente destino ou cliente destinos diferentes que também está na tabela FMSOLSERV. O que acontece é que na tabela FMSOLSERV o campo CDCLIDEST está com o valor 0 o que está dificultando para eu fazer o relatório
Rogério
Como poderia fazer um update em um campo recebendo valor de outra tabela. No caso normalmente se faz um update em um campo mas coloca-se valor fixo.
Preciso fazer um update no campo cdclidest ( Cliente destino) que está na tabela FMSOLSERV através do campo cdclidest ( Cliente destino) que está na tabela FMITEMCONTRATO sendo que vários clientes da tabela FMITEMCONTRATO podem ter o Cliente destino ou cliente destinos diferentes que também está na tabela FMSOLSERV. O que acontece é que na tabela FMSOLSERV o campo CDCLIDEST está com o valor 0 o que está dificultando para eu fazer o relatório
Rogério
Rogeranalista
Curtidas 0
Respostas
Sremulador
30/08/2006
vc pode utlizar assim
update...
set= (select campo from tabela...)
update...
set= (select campo from tabela...)
GOSTEI 0
Rogeranalista
30/08/2006
Bom eu fiz assim e deu certo
UPDATE FMSOLSERV F SET F.CDCLIDEST=(SELECT FIRST 1 I.CDCLIDEST
FROM FMITEMCONTRATO I
WHERE I.CDCONTRATO=F.NRCONTRATO
AND I.CDEQUIPAMENTO=F.CDEQUIPAMENTO
AND I.CDRESIDUO=F.CDRESIDUO)
WHERE F.CDCLIDEST = 0
Ainda existem campos com valor null então na última linha coloquei
WHERE F.CDCLIDEST IS NULL
Aparece a mensagem abaixo informando que 59 records were update, dou um commit neles mas vou verificar ainda permanecem nulos, o que poderia fazer ???
Rogério
UPDATE FMSOLSERV F SET F.CDCLIDEST=(SELECT FIRST 1 I.CDCLIDEST
FROM FMITEMCONTRATO I
WHERE I.CDCONTRATO=F.NRCONTRATO
AND I.CDEQUIPAMENTO=F.CDEQUIPAMENTO
AND I.CDRESIDUO=F.CDRESIDUO)
WHERE F.CDCLIDEST = 0
Ainda existem campos com valor null então na última linha coloquei
WHERE F.CDCLIDEST IS NULL
Aparece a mensagem abaixo informando que 59 records were update, dou um commit neles mas vou verificar ainda permanecem nulos, o que poderia fazer ???
Rogério
GOSTEI 0