BUANA 0 Denunciar post Postado Novembro 23, 2005 Amigos, se vocês puderem me ajudar agradeco muito. tenho a seguinte situação : tabela : cust ( cust_id,alig_id) tmp_gm2(cust_id,alig_id,geog_id) tmp_br (br_id,geog_id) preciso fazer um update na tabela cust, no campo (alig_id) quando existir um geog_id igual entre as tabelas tmp_gm2 e tmp_br. eu ja fiz de varias formas mais nenhuma funcionou, em um caso apenas foi feito o update, porem em todas as linhas ao inves da linha especifica. segue a query.UPDATE TMP_CUST_ALIG T SET T.ALIGNMENT_ID=(SELECT B.ALIGNMENT_ID FROM TMP_GP3 G INNER JOIN BRICK_TER B ON(G.GEOGRAPHY_CODE=B.GEOGRAPHY_CODE) INNER JOIN TMP_CUST_ALIG T ON (T.ALIGNMENT_ID=G.ALIGNMENT_ID) WHERE T.CUSTOMER_ID=G.CUSTOMER_ID)Agradeco desde já.Roberto. Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Novembro 23, 2005 Qual é o erro que esta dando?? Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 23, 2005 Fica mais fácil mencionar o erro e qual versão do seu banco de dados? Abraços, http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
BUANA 0 Denunciar post Postado Novembro 27, 2005 Amigos, se vocês puderem me ajudar agradeco muito. tenho a seguinte situação : tabela : cust ( cust_id,alig_id) tmp_gm2(cust_id,alig_id,geog_id) tmp_br (br_id,geog_id) preciso fazer um update na tabela cust, no campo (alig_id) quando existir um geog_id igual entre as tabelas tmp_gm2 e tmp_br. eu ja fiz de varias formas mais nenhuma funcionou, em um caso apenas foi feito o update, porem em todas as linhas ao inves da linha especifica. segue a query.UPDATE TMP_CUST_ALIG T SET T.ALIGNMENT_ID=(SELECT B.ALIGNMENT_ID FROM TMP_GP3 G INNER JOIN BRICK_TER B ON(G.GEOGRAPHY_CODE=B.GEOGRAPHY_CODE) INNER JOIN TMP_CUST_ALIG T ON (T.ALIGNMENT_ID=G.ALIGNMENT_ID) WHERE T.CUSTOMER_ID=G.CUSTOMER_ID)Agradeco desde já.Roberto.PESSOAL O ERRO QUE ESTA OCORRENDO É O SEGUINTE :The following error has occurred:ORA-01427: single-row subquery returns more than one rowABRAÇOS. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 27, 2005 Seu SELECT está retornando várias linhas, só para testar faça isso: UPDATE TMP_CUST_ALIG T SET T.ALIGNMENT_ID=( SELECT B.ALIGNMENT_ID FROM TMP_GP3 G INNER JOIN BRICK_TER B ON(G.GEOGRAPHY_CODE=B.GEOGRAPHY_CODE) INNER JOIN TMP_CUST_ALIG T ON (T.ALIGNMENT_ID=G.ALIGNMENT_ID) WHERE ROWNUM<2 AND T.CUSTOMER_ID=G.CUSTOMER_ID) Agora, verifique se executou normalmente. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Compartilhar este post Link para o post Compartilhar em outros sites
BUANA 0 Denunciar post Postado Dezembro 6, 2005 Seu SELECT está retornando várias linhas, só para testar faça isso: UPDATE TMP_CUST_ALIG T SET T.ALIGNMENT_ID=( SELECT B.ALIGNMENT_ID FROM TMP_GP3 G INNER JOIN BRICK_TER B ON(G.GEOGRAPHY_CODE=B.GEOGRAPHY_CODE) INNER JOIN TMP_CUST_ALIG T ON (T.ALIGNMENT_ID=G.ALIGNMENT_ID) WHERE ROWNUM<2 AND T.CUSTOMER_ID=G.CUSTOMER_ID) Agora, verifique se executou normalmente. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/ermm.gifRodrigo, muito obrigado pela força, o que você passou resolvel, me desculpe pela demora em responder, mas tava no meio de um projeto. valeu mesmo. obrigado.Roberto. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Dezembro 6, 2005 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites