Como executar este update?
Galera,
Estou precisando atualizar uma tabela, com valores de outra tabela, mas não consegui fazer esta façanha. Como no exemplo:
Como eu faço esta ´join´ nas tabelas?
Desde já, agradeço a ajuda de todos!
Estou precisando atualizar uma tabela, com valores de outra tabela, mas não consegui fazer esta façanha. Como no exemplo:
update
tabela1
set
tabela1.codigo = tabela2.codigo
where
tabela1.nome = tabela2.nome
Como eu faço esta ´join´ nas tabelas?
Desde já, agradeço a ajuda de todos!
Rodolpho123
Curtidas 0
Respostas
Emerson Nascimento
17/11/2004
update tabela1 set tabela1.codigo = (select max(tabela2.codigo) where tabela2.nome = tabela1.nome)
o max() é só pra garantir que seja retornado apenas 1 registro.
o max() é só pra garantir que seja retornado apenas 1 registro.
GOSTEI 0
Rodolpho123
17/11/2004
update tabela1 set tabela1.codigo = (select max(tabela2.codigo) where tabela2.nome = tabela1.nome)
o max() é só pra garantir que seja retornado apenas 1 registro.
Muito obrigado emerson, mas infelizmente a dica que vc me deu, não funcionou. Ela atualizou todos os registros de tabela1.codigo com o mesmo valor. Vou continuar tentando...Um abraço!
GOSTEI 0
Emerson Nascimento
17/11/2004
a instrução estava errada. creio que vc deva ter feito corretamente, senão daria erro, mas de qualquer forma, a instrução correta seria:
update tabela1 set tabela1.codigo = (select max(tabela2.codigo) [b:f4340c6ecb]from tabela2[/b:f4340c6ecb] where tabela2.nome = tabela1.nome)
update tabela1 set tabela1.codigo = (select max(tabela2.codigo) [b:f4340c6ecb]from tabela2[/b:f4340c6ecb] where tabela2.nome = tabela1.nome)
GOSTEI 0
Rodolpho123
17/11/2004
Novamente, muito obrigado emerson, mas eu só consegui fazer minha ´update´ através de [b:64451ba5a2]stored procedures[/b:64451ba5a2], no comando [b:64451ba5a2]for select do[/b:64451ba5a2]...
GOSTEI 0