表设计
读取表中不重复的记录且显示全部字段
2005-02-04 17:29:49

问题:  

  根据其中几个字段判断重复,只保留一条记录,但是要显示全部字段,怎么查询,谢谢!!

 

比如 字段1 字段2 字段3 字段4 a     b     c      1 a     b     c      1

a     b     d      2 a     b     d      3

b     b     d      2

想得到的结果为 a     b     c      1 a     b     d      2(或者3) b     b     d      2 说明,根据字段1,2,3组合不重复,字段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查询筛选出需要的数据: 可以假定第四字段都选值最小的
SELECT [1],[2], [3], Min([4]) AS Min4 FROM 表1 GROUP BY 表1.[1], 表1.[2], 表1.[3];