問題:
根據(jù)其中幾個字段判斷重復(fù),只保留一條記錄,但是要顯示全部字段,怎么查詢,謝謝?。?BR> 比如
字段1 字段2 字段3 字段4
a b c 1
a b c 1
a b d 2
a b d 3
b b d 2
想得到的結(jié)果為
a b c 1
a b d 2(或者3)
b b d 2
說明,根據(jù)字段1,2,3組合不重復(fù),字段4 不考慮,得到了3個記錄
但是也要顯示字段4。
方法一:
可以用臨時表的方法來解決:
CurrentProject.Connection.Execute "drop table temptable"
CurrentProject.Connection.Execute "select * into temptable from 表2 where 1=2"
CurrentProject.Connection.Execute "insert into temptable(字段1,字段2,字段3) SELECT DISTINCT 表2.字段1, 表2.字段2, 表2.字段3 FROM 表2;"
CurrentProject.Connection.Execute "UPDATE temptable INNER JOIN 表2 ON (表2.字段1 = temptable.字段1) AND (表2.字段2 = temptable.字段2) AND (表2.字段3 = temptable.字段3) SET temptable.字段4 = [表2].[字段4];"
方法二:
可以直接使用一個SELECT查詢篩選出需要的數(shù)據(jù):
可以假定第四字段都選值最小的
SELECT [1],[2], [3], Min([4]) AS Min4
FROM 表1
GROUP BY 表1.[1], 表1.[2], 表1.[3];
根據(jù)其中幾個字段判斷重復(fù),只保留一條記錄,但是要顯示全部字段,怎么查詢,謝謝?。?BR> 比如
字段1 字段2 字段3 字段4
a b c 1
a b c 1
a b d 2
a b d 3
b b d 2
想得到的結(jié)果為
a b c 1
a b d 2(或者3)
b b d 2
說明,根據(jù)字段1,2,3組合不重復(fù),字段4 不考慮,得到了3個記錄
但是也要顯示字段4。
方法一:
可以用臨時表的方法來解決:
CurrentProject.Connection.Execute "drop table temptable"
CurrentProject.Connection.Execute "select * into temptable from 表2 where 1=2"
CurrentProject.Connection.Execute "insert into temptable(字段1,字段2,字段3) SELECT DISTINCT 表2.字段1, 表2.字段2, 表2.字段3 FROM 表2;"
CurrentProject.Connection.Execute "UPDATE temptable INNER JOIN 表2 ON (表2.字段1 = temptable.字段1) AND (表2.字段2 = temptable.字段2) AND (表2.字段3 = temptable.字段3) SET temptable.字段4 = [表2].[字段4];"
方法二:
可以直接使用一個SELECT查詢篩選出需要的數(shù)據(jù):
可以假定第四字段都選值最小的
SELECT [1],[2], [3], Min([4]) AS Min4
FROM 表1
GROUP BY 表1.[1], 表1.[2], 表1.[3];