UPDATE com valor de uma coluna em outra tabela
Olá amigos, estou tendo uma certa dificuldade para rodar um comando numa base de dados firebird, o que eu preciso é:
Tenho duas tabelas, uma para guardar os produtos,(IN01PRO), e uma para guardar os orçamentos,(IN01ORC), na tabela de produtos tenho um campo para guardar o saldo ,(SALDO),
e na tabela orçamentos um campo para guardar a quantidade,(QUANT),e um para guardar o código do orçamento(NOTFI), as tabelas se relacionan pelo campo PK,(CDPRO)da tabela de produtos ,quero rodar um comando onde o campo(SALDO) irá receber a quantidade do campo (QUANT) do meu orçamento =177.
"EM PARENTES SÃO ESTRUTURA DO BANCO ".
Pensei num comando mais o menos assim:
UPDATE IN01PRO SET SALDO = (SELECT QUANT FROM IN01ORC WHERE NOTFI = 177 AND CDPRO= IN01PRO.CDPRO)
Claro que esse comando não iria funcionar, mas seria neste sentido.
Se vocês puder me ajudar, ficarei muito grato.
Tenho duas tabelas, uma para guardar os produtos,(IN01PRO), e uma para guardar os orçamentos,(IN01ORC), na tabela de produtos tenho um campo para guardar o saldo ,(SALDO),
e na tabela orçamentos um campo para guardar a quantidade,(QUANT),e um para guardar o código do orçamento(NOTFI), as tabelas se relacionan pelo campo PK,(CDPRO)da tabela de produtos ,quero rodar um comando onde o campo(SALDO) irá receber a quantidade do campo (QUANT) do meu orçamento =177.
"EM PARENTES SÃO ESTRUTURA DO BANCO ".
Pensei num comando mais o menos assim:
UPDATE IN01PRO SET SALDO = (SELECT QUANT FROM IN01ORC WHERE NOTFI = 177 AND CDPRO= IN01PRO.CDPRO)
Claro que esse comando não iria funcionar, mas seria neste sentido.
Se vocês puder me ajudar, ficarei muito grato.
Alexsander Silva
Curtidas 0
Respostas
Luiz Santos
14/10/2016
Alex.
Não sei se o FIREBIRD permite um UPDATE com FROM, mas no SQL SERVER seria feito assim:
Não sei se o FIREBIRD permite um UPDATE com FROM, mas no SQL SERVER seria feito assim:
UPDATE IN01PRO
SET SALDO = IN01ORC.QUANT
FROM IN01PRO
INNER JOIN IN01ORC
ON IN01PRO.CDPRO = IN01ORC.CDPRO
GOSTEI 0