Fazendo update com um tabela referencial

Firebird

09/02/2005

Bem amigos depois de passar o carnaval tentando não achei um solução simples para este problema, quero fazer um update em uma tabela filha sendo que depende de critérios da tabela pai
ex:

update tabelafilha
inner jointabela pai...
set campos
where datatabela pai=criterio

mas não estou conseguindo fazer isso, alguem da uma luz ...


Sremulador

Sremulador

Curtidas 0

Respostas

Sremulador

Sremulador

09/02/2005

Eu consegui

UPDATE CONTA_AMB_MATMED VVM
SET VVM.CMVU = (SELECT CAAM FROM CONTA_AMB_MATMED_MESTRE WHERE VVM.CMAM=CAAM AND VVM.CMCA=CACD)
WHERE VVM.CMPD=100

Valeu galera...


GOSTEI 0
Sremulador

Sremulador

09/02/2005

Não funcionou :(

UPDATE CONTA_AMB_MATMED VVM
SET VVM.CMVU = (SELECT CAAM FROM CONTA_AMB_MATMED_MESTRE WHERE VVM.CMAM=CAAM AND VVM.CMCA=CACD [b:a80fe73aee]CMDA BETWEEN :INI AND :FIM[/b:a80fe73aee])
WHERE VVM.CMPD=100

eu tinha esquecido o parametro :(


GOSTEI 0
Rodolpho123

Rodolpho123

09/02/2005

Eu já tive um problema desses e só consegui resolver isso através de SP..
FOR 
   SELECT CAAM FROM CONTA_AMB_MATMED_MESTRE WHERE   VVM.CMAM=CAAM AND VVM.CMCA=CACD CMDA BETWEEN :INI AND :FIM 
INTO
  :VALOR
DO

BEGIN
   UPDATE CONTA_AMB_MATMED VVM 
   SET VVM.CMVU = :VALOR
  WHERE VVM.CMPD=100



Vê se isso vai funcionar...


GOSTEI 0
Sremulador

Sremulador

09/02/2005

UPDATE CONTA_AMB_MATMED VVM SET VVM.CMVU = :VALOR WHERE VVM.CMPD=100


o ploblema e que tenho que fazer referencia com alguns campos

WHERE VVM.CMPD=100
VVM.CMAM IN (SELECT....)

eu fiz assim mas tenho que fazer dois selectns deste modo com uma linha gigante


GOSTEI 0
Afarias

Afarias

09/02/2005

eu tinha esquecido o parametro :(


Qual o problema com o parâmetro?


T+


GOSTEI 0
Sremulador

Sremulador

09/02/2005

[b:2f6f8da86f]BETWEEN :INI AND :FIM[/b:2f6f8da86f]


GOSTEI 0
Afarias

Afarias

09/02/2005

qual o problema?


T+


GOSTEI 0
POSTAR