2016-09-09 8 views
0

このemployeeテーブルには重複した値があります。新しい住所でemp_addressを変更したいと思います。SQLで重複する値を持つ列を更新する方法

しかし、私はそれが1つの行だけを更新したい。

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

あなたは1つの行を何で更新したいですか?更新ステートメントを開始することはできますか? – 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を使用することをお勧めします。

編集:またはOracleでOracleの

+0

質問には「oracle」というタグが付けられています。 – vercelli

+1

ありがとう、私はそれを逃した。 – Iain

0

ROWNUM <= 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; 
関連する問題