2016-09-09 2 views
0

일부 중복 값이있는이 employee 테이블이 있습니다. 새 주소로 emp_address을 변경하고 싶습니다.SQL에서 중복 값을 사용하여 열을 업데이트하는 방법

하지만 한 줄만 업데이트하고 싶습니다.

emp_id | emp_name | emp_address | emp_dept 
-------+----------+-------------+----------- 
101 | Rick | Delhi | D001 
101 | Rick | Delhi | D001 
123 | Maggie | Agra  | D890 
166 | Glenn | Chennai | D900 
166 | Glenn | Chennai | D900 
+3

그리고 어떤 행을 업데이트 할 않습니다 또는 아래와 같이 업데이트 할 수 있습니다 오라클에서 –

+0

단일 행을 무엇으로 업데이트 하시겠습니까? 업데이트 진술을 시작할 수 있습니까? – Paparazzi

+0

[SQL 또는 PL/SQL을 사용하여 Oracle에서 첫 번째 중복 행만 업데이트하는 UPDATE 문] 가능한 복제본 (http://stackoverflow.com/questions/244671/update-statement-in-oracle-using-sql-or-pl) -sql-to-update-first-duplicate-row-onl) –

답변

0

빠른 수정하여 업데이트 쿼리에 LIMIT 1를 사용하는 것입니다.

편집 :

update table 
    set emp_address = (Select emp_address 
         from emp a 
         where a.rowid in (select max(rowid) 
             from emp_address b 
             where a.emp_id = b.emp_id     
             group by emp_id,emp_name)) 
where emp_id =101; 
+0

질문에 'oracle' 태그가 붙어 있습니다. – vercelli

+1

고마워, 나는 그것을 놓쳤다. – Iain

0

오라클

ROWNUM <= 1을 사용할 수 있습니까?