当前位置:数据库 > Access >>

vb和access数据库如何剔除重复数据

access里面有sheet1和sheet2 sheet1,包含列 :编号,姓名,年龄 sheet2 包含:序列(从1开始),编号,体检情况1,体检情况2 1号表是基本情况表 2号表是健康体检表 1号表的编号和2号表编号是对应的 但是2号表的id是有重复的,因为一个人可以对应多次的体检结果 好比表1:001,张三,男 002,李四,男 表2:1, 001,脂肪肝,2009年 2, 001,糖尿病,2010年 (都是张三一个人的) 3, 002,高血压,2010年 我想这样生成一个表adodc1 001 张三,糖尿病 002 李四,高血压 剔除表2中的重复id的体检结果,只显示最后一次体检的结果 应该如何写啊 select??? 我用distinct好像不行
答案:我理角,用SQL可以解决的。
但我没明白,你写的 “001 张三,糖尿病 ”,另一个脂肪肝,不记录了?

如果你只要保留一个可以对表2进行处理就OK了。需要的话,可以再和表1结合下。

表2的处理:(这里取了大编号的记录,实际你只留一条,还是要有个规则说明的)
select max(编号)
from Sheet2
group by 编号

然后你通过这个编号,再与Sheet1关联。也可以写到一起的。

我对你的需求,有些不清楚。如需详细沟通加QQ:5397859
其他:select * from sheet1 where 编号=(select distinct(编号) where sheet2) SELECT 
  sheet1.编号,
  sheet1.姓名, 
  sheet2.体检情况1
FROM 
  sheet1 INNER JOIN sheet2 ON sheet1.编号 = sheet2.编号
WHERE
  (SELECT COUNT(1)
   FROM sheet2 sub
   WHERE 
     sub.编号 = sheet2.编号
     AND  sub.体检情况2 > sheet2.体检情况2
  ) < 1 

上一个:access数据库中用SQL语句查询某个字段
下一个:Access 2007 数据库设计

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,