Oracle SQL: 重複を見つけて削除する方法
Oracle へのアクセスは読み取り専用です (SELECT コマンドのみを使用できます)。
ロジック: 2 人のユーザー 'A' と 'B' が同じ会社名と名を持っています
抽出する列:
ID of A
ID of B
Company Name of A
Company Name of B
First Name of A
First Name of B
以下のクエリを使用しています:
select a.id, b.id, a.name, b.name, a.company, b.company from
(select id, company, name where country = 'USA') a,
(select id, company, name where country = 'UK') b
where a.id <> b.id
and lower(a.company) = lower(b.company)
and a.username = b.username
ここでは、各行を 2 回取得しています (下の表を参照してください)。
A_ID .... B_ID .... A_NAME ........... B_NAME .... A_COMPANY ..... ..... B_COMPANY
3592382 .... 1977967 .... ピーター ................ ピーター .... ABC .... ................... ABC
1977967 .... 3592382 .... ピーター ................ ピーター ................. ABC .... ................... ABC
5949363 .... 5941818 .... ジョセフ .... ジョセフ .... XYZ ........... .........XYZ
5941818 .... 5949363 .... ジョセフ .... ジョセフ .... XYZ .... .........XYZ