Update de um campo usando outra Tabela

25/10/2011

0

Boa tarde, sou novo por aqui e meio que iniciante em SQL.

Me ajudem, preciso atualizar um campo de uma tabela usando campo de outra.

update ENTRADAS set NOTA_FISCAL = CONTAS_PAGAR.NOTA

Tenho os filtros where e já sei usalos, mas creio que estou montando errado linha update

Isso é para resolver uma falha antiga no nosso ERP, onde foi apagado na tabela entradas o número da Nota mas ainda temos esse número na tabela CONTAS_PAGAR.

Obrigado
Mizael Lehmann

Mizael Lehmann

Responder

Posts

25/10/2011

Joel Rodrigues

Um exemplo.
Eu tenho duas tabelas: LANCAMENTO_CAIXA e CONTAS_PAGAR. Na tabela de lançamentos, eu guardo o valor e o código da conta que foi paga.
Houve uma falha no meu sistema onde ocorreu o seguinte: o valor da conta não estava sendo gravado, só o número. Preciso atualizar a tabela de lançamentos para que todos os registros relacionados com contas a pagar passem a ter o valor correto (o valor da conta).
Solução:
UPDATE LANCAMENTO_CAIXA SET VALOR_CONTA = (SELECT VALOR FROM CONTAS_PAGAR C WHERE C.CODIGO = LANCAMENTO_CAIXA.CODIGO_CONTA)

Espero ter ajudado.
Qualquer coisa, dê mais detalhes sobre a estrutura de suas tabelas e qual o relacionamento entre elas.
Responder

15/12/2011

Bruno Manguinho

Você pode fazer um UPDATE FROM

update ENTRADAS set NOTA_FISCAL = CONTAS_PAGAR.NOTA

UPDATE ENTRADAS SET
NOTA_FISCAL = CONTAS_PAGAR.NOTA
FROM ENTRADAS
INNER JOIN CONTAS_PAGAR ON CONTAS_PAGAR.Codigo = ENTRADAS.Codigo_CONTAS_PAGAR

Estou levando em consideração aqui que ENTRADAS tem uma chave estrangeira de CONTAS_PAGAR, ou vice-versa (a depender da estrutura que vc montou), e fiz um Join com essa relação.

Claro que os nomes das chaves eu inventei e vc tem que colocar do jeito que esta no sistema.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar