データベース関連の業務に従事していただきます。ほとんどの場合、クライアントがデータを Excel シートの形式で送信し、Excel 操作後にそのデータをデータベース テーブルにプッシュするときに行われます。私も何度もやりました。
このアプローチで直面する非常に一般的な問題は、送信されるデータのほとんどが人事や財務などの部門からのものであり、人々がデータの正規化手法を十分に認識していないため、重複行が発生する可能性があることです [:-)]。
列名が id、name、department、email である Employee テーブルを使用します。
以下は、テスト データを生成するための SQL スクリプトです。
スキーマ TestDB を作成します。
CREATE TABLE EMPLOYEE
(
ID INT,
NAME Varchar(100),
DEPARTMENT INT,
EMAIL Varchar(100)
);
INSERT INTO EMPLOYEE VALUES (1,'Anish',101,'anish@howtodoinjava.com');
INSERT INTO EMPLOYEE VALUES (2,'Lokesh',102,'lokesh@howtodoinjava.com');
INSERT INTO EMPLOYEE VALUES (3,'Rakesh',103,'rakesh@howtodoinjava.com');
INSERT INTO EMPLOYEE VALUES (4,'Yogesh',104,'yogesh@howtodoinjava.com');
-- これらは重複する行です
INSERT INTO EMPLOYEE VALUES (5,'Anish',101,'anish@howtodoinjava.com');
INSERT INTO EMPLOYEE VALUES (6,'Lokesh',102,'lokesh@howtodoinjava.com');
解決:
DELETE e1 FROM EMPLOYEE e1, EMPLOYEE e2 WHERE e1.name = e2.name AND e1.id > e2.id;