Office中国论坛/Access中国论坛

标题: 两张表里找出不匹配的记录(急) [打印本页]

作者: jjhxwf    时间: 2006-8-12 19:43
标题: 两张表里找出不匹配的记录(急)
在一个数据库里有两张表,由于这两张表里记录有4千多人,两张表里的有两个字段是相同的,医保编号和姓名,想通过查询(利用医保编号和姓名)找出不匹配的记录。请帮助,谢谢!
作者: 一点通    时间: 2006-8-12 20:17
请用"不匹配查询"
作者: jjhxwf    时间: 2006-8-12 22:24
标题: 求助
用不匹配查询不准确,能否可告诉我用条件查询(SQL语句)



谢谢
作者: 一点通    时间: 2006-8-12 23:18
传你的示例上来吧
作者: jjhxwf    时间: 2006-8-13 00:43
由于这是厂里的资料,不便传给你看,我就大概写个例子:

A表             医保编号     姓名     出生年月     类别   医保备注

                      2456        黄小毛     68.12.01   在职      0

                      2578         王婷        54.7.112   退休     0

                      2289        刘芳         64.5.26     病退     0

B表           医保编号     姓名     出生年月     类别   上月缴费     总共缴费

                     2456        黄小毛     68.12.01   在职      54              2654

                      2568        王婷        54.7.112   退休     26              1245

                      2289        刘芳         64.5.26     病退     2654          2547

B表王婷就与A表对不上,我就要把对不上的找出来,由于原表记录有4000多个,A表与B表医保编号与姓名两张表要对上,就很难找.有可能姓名对不上,医保编号对不上.通过数据库我已经把医保编号和姓名相同找出来的,可是再用不匹配查询会少很多条记录,所以我想用条伯查询,由于数据库不很太熟,所以请帮忙.

                     
作者: 一点通    时间: 2006-8-13 00:58
SELECT A表.医保编号, A表.姓名
FROM A表 LEFT JOIN B表 ON (A表.医保编号 = B表.医保编号) AND (A表.姓名 = B表.姓名)
WHERE (((B表.医保编号) Is Null));

作者: jjhxwf    时间: 2006-8-13 01:29
我要的是显示对不上的记录,这个是显示两个相同的记录的是吗?

请赐教!
作者: sgrshh29    时间: 2006-8-13 02:00
以下是引用jjhxwf在2006-8-12 17:29:00的发言:


我要的是显示对不上的记录,这个是显示两个相同的记录的是吗?

请赐教!



要简单一点的话,考虑按2个字段做2个不匹配查询,然后group by.反正写错的姓名或编号都要改的,一个一个字段改一样的.

[此贴子已经被作者于2006-8-12 18:04:11编辑过]


作者: jjhxwf    时间: 2006-8-13 05:02
本人也许太笨了,能不能讲的具体一些,用不匹配查询,SQL语句应该怎么写才能显示出不匹配的记录。

万分感谢!
作者: 一点通    时间: 2006-8-13 18:36
6楼已经写出SQL语句了,还不明的话上传你的示例吧
作者: jjhxwf    时间: 2006-8-14 17:06
谢谢!上班试用后,成功.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3