個人名、住所、役職の表があります。名前は時々繰り返されます。 2人が同じ名前と同じ住所を持っているかどうかを、1つの記録だけを保持する必要がある場合と比較する必要があります。
Table: Data_Excel
Name: P_Name
Address: P_Address
City: P_city
重複を見つけるには、次のようにします。
SELECT P_name,
P_Address,
P_city
FROM Data_Excel
GROUP BY P_Name,
P_Address,
P_city
HAVING COUNT(*) > 1;
重複を削除するには、次のようにします。
DELETE
FROM Data_Excel
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM Data_Excel
GROUP BY P_Name,
P_Address,
P_city
);
Personテーブルに挿入するには、次のようにします。
INSERT INTO Person(id,name)
SELECT (SELECT MAX(id)+1 FROM Person),P_Name
FROM Data_Excel WHERE P_Name NOT IN (SELECT name FROM Person)
SELECT P_Name,P_Address,count(*)
FROM Data_Excel
GROUP BY P_Name,P_Address
HAVING count(*) > 1;
これにより、同じP_Name
とP_Address
のレコードが得られます。