|
Postada em 13/04/2005 18:49 hs
Pessoal, gostaria de saber se é possível atualizar registros com dados de outra tabela... A sintaxe que vou passar abaixo está errada mas é só para servir de exemplo: UPDATE Material SET Codigo_material = (SELECT CD_MAT FROM TMAT) where id between 1267 AND 1365 O q estou tentando fazer é atualizar na tabela Material o campo Codigo_Material com os registros vindos da tabela TMAT do campo CD_MAT. Gostaria de saber se é possível fazer isso só com SQL... obrigado a quem tentar t+ obs: qq coisa eu reformulo a pergunta caso não tenha ficado claro
|
|
|
|
|
Postada em 13/04/2005 19:51 hs
É possível sim, a única condição é que a subquery(o que está entre parênteses) deve retornar somente um campo e um registro, ou seja, um único valor, ficaria mais ou menos assim: UPDATE Material SET Codigo_material = (SELECT CD_MAT FROM TMAT where TMAT.Codigo_material = Material.Codigo_material) where id between 1267 AND 1365
|
|
|
Rochª
|
RIO DE JANEIRO RJ - BRASIL
|
|
Postada em 14/04/2005 00:42 hs
Voce pode tambem incluir varios campos assim Insert Into tmp_saldo_bancos (CP_CR, data, cod_banco, saldo) Select 1,#01/01/2005#,cod_banco,0 From banco where cod_banco > 0 Ele vai pegar todos os cod_banco > 0 da tabela banco e atualizar os campos CP_CR, Data, Cod_banco e saldo do arquivo tmp_saldo_bancos. Ajuda ??
__________________________________________________________________________ Qualquer coisa post Rochª
|
|
|
|
Postada em 14/04/2005 10:13 hs
você quer atualizar vários registros com apenas um valor ficaria assim: UPDATE Material SET Codigo_material = (SELECT top 1 CD_MAT FROM TMAT) where id between 1267 AND 1365 mas se você quer atualizar vários registros com vários valores, você deve unir as duas tabelas por um ou mais campos(exemplo: codigo_material recebe CD_MAT da tabela TMAT onde id for igual ao CD_MAT (união das tabelas) e o id estiver entre 1267 e 1365) UPDATE Material SET Codigo_material = CD_MAT FROM Material , TMAT where id = CD_MAT AND id between 1267 AND 1365
|
|
|
|
Postada em 15/04/2005 19:27 hs
blz pessoal obrigado pelas sugestões... vou testar e posto o q consegui aqui... t+
|
|
|
|
Postada em 16/04/2005 03:30 hs
TENTA ASSIM UPDATE MATERIAL SET CODIGO_MATERIAL=CD_MAT FROM Material,TMAT where id between 1267 AND 1365 ESPERO TER AJUDADO
|
|
|