讀取表中不重復(fù)的記錄且顯示全部字段

字號:

問題:
    根據(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];