|
蓝森林 http://www.lslnet.com 2006年7月18日 11:08
!!!这个问题,怎么解??? (new)
已 知 :表tab1中含字段:身份证号sfz, 姓名xm
已 知 :表tab2中含字段:身份证号sfz, 金额je
现发现:tab1中有“家庭成员共同一个身份证号(一个sfz多个xm)”的现象,导致在执行:
select tab1.xm, tab2.je from tab1, tab2 where tab1.sfz=tab2.sfz 时,
出现形如“夫 100元; 妻 100元”(实际该家庭只需100元!也就是只取一条记录才正确!)。
请问:
1)如何修改上一命令,才能在上述情况时统统只取一条记录?
2)如果我想先清理tab1:如何找出并去掉“一个sfz多个xm记录”的记录?
3)如果我想先清理tab1:如何将“一个sfz多个xm记录”统统只保留一条记录? |
!!!这个问题,怎么解??? (new)
1、先清理
2、清理条件是什么呢? |
!!!这个问题,怎么解??? (new)
select sfz,count(*) from tab1
group by sfz
having count(*)>;1
找出身份证重复的纪录,怎么用语句删除就不好说了,如果记录少最好手工删,比较安全
如果多的话建议先将重复的数据导入一个临时表,然后再关联操作。 |
!!!这个问题,怎么解??? (new)
-->
问题“3)” 就是 “先清理 及 清理的条件”!
也就是: 使tab1中“一个身份证号多条记录”的情况全整理为“一证一记录”(去掉部分记录)!
现在tab1中记录有近十万条,一证多名现象较多(有的身份证被复用十多个姓名)! 大家有什么具体一点的清理方法吗? |
!!!这个问题,怎么解??? (new)
除非你不要姓名了,即tab1.xm这个字段 |
| |