1
如果性別,出生日期(dob)和郵政編碼相同,我想匹配屬於同一客戶的記錄。如果字段匹配,則在排序後替換值
實現此目的的一種方法是對記錄進行排序,然後說「將newid創建爲id,將newid替換爲下面一行中的id,如果郵編與下面的郵編相同,性別是相同的和出生日期是一樣的「。
最合適的SQL命令是什麼 - 我不確定如何讓SQL檢查「下面的行」並替換字段是否相同?
在下面的例子中,newid是最終結果的樣子。那些具有相同性別,dob和郵編的人獲得相同的ID。
非常感謝
CREATE TABLE mytable(
id INTEGER(2) NOT NULL PRIMARY KEY
, customerid INTEGER(1)
, sex INTEGER(1)
, dob DATE
, postcode VARCHAR(7)
, newid INTEGER(1)
);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (1,1,1,'19320413','AB1 2CD',1);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (2,2,1,'19320413','EF3 4GH',2);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (3,3,1,'19320413','AB1 2CD',1);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (4,4,1,'19320413','AB1 2CD',1);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (10,6,2,'19420930','IJ5 6KL',3);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (11,7,2,'19420930','IJ5 6KL',3);
INSERT INTO mytable(id,customerid,sex,dob,postcode,newid) VALUES (12,8,2,'19430930','IJ5 6KL',4);
您正在使用什麼數據庫?你在說什麼'id'?字段'id'是一個主鍵,所以它不能在不同的行上覆制。 – 2014-10-08 10:14:48