Fórum Fazer update em campo vazio #56851
30/08/2006
0
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
Curtir tópico
+ 0
Responder
Posts
02/09/2006
Sremulador
vc pode utlizar assim
update...
set= (select campo from tabela...)
update...
set= (select campo from tabela...)
Responder
Gostei + 0
04/09/2006
Rogeranalista
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)