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 数据库设计