Update de tabela para tabela com tamanho diferente

1 resposta
J

Ajuda,

Preciso fazer um update utilizando duas tabelas diferentes.
TAB_DOC campos (id_conteudo) (str_doc_epigrafe)
repositorio_pergunta_resp campos (id_pergunta_resp) (ds_titulo)

PRECISO ALTERAR O CAMPO TITULO DA TAB_DOC PELO CAMPO STR_DOC_EPIGRAFE

Na TAB_DOC TENHO MENOS REGISTROS QUE NA REPOSITORIO

O exemplo abaixo atualiza todos os campos repositorio_pergunta_resp
O que será que tem de errado o certo seria atualizar somente os ids que existe nas duas

update repositorio_pergunta_resp rp
set rp.ds_titulo =
(select t2.str_doc_epigrafe
from
(SELECT td.id_tipo_conteudo, td.str_doc_epigrafe, td.id_conteudo
FROM repositorio_pergunta_resp rp1
INNER JOIN tab_doc td
ON rp1.id_pergunta_resp = td.id_conteudo
and td.id_tipo_conteudo = 5
and td.str_doc_deleted = ‘N’) t2
where rp.id_pergunta_resp = t2.id_conteudo

1 Resposta

J

Uma outra tentativa
update
(select rp.ds_titulo, td.str_doc_epigrafe
from repositorio_pergunta_resp rp, tab_doc td
where rp.id_pergunta_resp = td.id_conteudo
and td.str_doc_deleted = 'N’
and td.id_tipo_conteudo = 5
) t
set t.ds_titulo = t.str_doc_epigrafe

Criado 31 de agosto de 2012
Ultima resposta 31 de ago. de 2012
Respostas 1
Participantes 1