2017-12-19 1 views
-2
update table1 
set table1.col1=(select t2.c2 as X from [email protected]) 
where t1.c2=(select t3.c3,t3.c4,t3.c5 from [email protected]) 

의 다른 테이블의 열에서 데이터베이스의 테이블의 열을 업데이트하려고하지만 난나는 다른 데이터베이스

ORA-01427 얻고있다 : 단일 행 부질의는 반환 하나 이상 행

사람이 나를 도와 줄 수 있습니까?

+0

:

어쨌든, 이런 걸 당신에게 아이디어를 줄 수 있습니다. – jarlh

+5

질문을 편집하고 샘플 데이터와 원하는 결과를 제공하십시오. 오류는 명백합니다. 그것을 고치는 방법, 훨씬 적게. –

+0

하위 쿼리가 많은 레코드를 반환합니다. 그래서 여기에 특정 조건에 따라 다른 다른 테이블에서 테이블의 열을 업데이 트해야합니다. –

답변

0

샘플 데이터가 도움이 될뿐만 아니라 일관된 정보를 게시하는 데 도움이됩니다 (TABLE1을 업데이트하고 나중에 T1을 사용하는 경우 ... 무엇입니까?). 당신은 상관 하위 쿼리가 필요

update table1 t1 set 
    t1.c1 = (select t2.c2 
      from [email protected] t2 
      where t2.some_column = t1.some_column --> you miss this 
     ) 
where t1.cs in (select t3.c3 from [email protected] union 
       select t3.c4 from [email protected] union 
       select t3.c5 from [email protected] 
       ); 
관련 문제