作者WISHguitar (过气北吉人)
看板Database
标题[SQL] 从两个资料表中找出相同资料
时间Wed May 4 20:40:06 2011
各位前辈好 目前我在某机构当义工
最近因需要汇整资料到以前的义工写的access database中
之前完全没基础QQ 所以算是临时恶补上网看一些语法进行这项工作
目前碰到的问题是
每年约要新增5000笔资料进入旧资料(姓名、地址)
但姓名重复的资料 需要检查:
是否为同名同姓不同地址的人员 或是人为输入错误的人员
EX:张小明 第一笔资料为 新北市永和路二段
第二笔资料为 新北市永和路2段 应为同一人 抓出来後删除
第三笔资料为 高雄市九如路 同名同姓不同人保留
目前的做法是建立一个查询 (将新资料输入一个新的资料表 newin 旧有资料为New)
SELECT 姓名, 邮递区号, 地址
FROM newin
WHERE [姓名] In (SELECT [姓名] FROM [New])
UNION ALL
SELECT 姓名, 邮递区号, 地址
FROM New
WHERE [姓名] In (SELECT [姓名] FROM [newin])
ORDER BY 姓名;
但如此一来 查询显示的资料 无法直接删除 会显示此资料为唯读
如果不能直接在此查询中删除 还要跳到newin删除 资料量很大顶麻烦的
不知道是否有方法可以解决呢? 麻烦大家了 感谢
ps以前的方法是把所有资料汇整到旧资料New中
再作一个查询New姓名重复 是可以直接在这样的查询中删除
但是如此一来 就连往年确认过 同名同姓不同人的资料也要重看一遍
资料目前就已经快六万笔了...这样看很困扰
--
※ 编辑: WISHguitar 来自: 220.139.139.50 (05/04 20:43)
1F:→ Phill:是access的话直接在newin中插入子资料工作表new 打一笔就可 05/05 23:16
3F:→ Phill:子资料也可以是检视表,再过滤去年及此次新增的重覆资料 05/05 23:40