| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1841 人关注过本帖
标题:咋能去除相同记录
只看楼主 加入收藏
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
结帖率:99.76%
收藏
已结贴  问题点数:30 回复次数:26 
咋能去除相同记录
现在有这样一种情况:

我们使用sql接收对方sql数据库备份包  但是对方库 不晓得啥原因  出现了重复数据(所谓重复数据就是有部分记录 每一个字段内容都相同 包括身份证号 姓名 啥的)

结果要由我们来解决:

1、直接修改sql数据库中的表  去除重复数据

2、我们为这个sql数据库用vfp 制作了一个接口程序(从sql上卸载数据) 把这个数据导入到dbf中  
   在我们的dbf中 去除重复数据

我主观上 想用第二种  第一种数据量太大  (对方的sql数据库包 居然达到了1.7--1.8G的变态)

但是去除重复数据 只保留一条记录  sql代码不知道咋写了
搜索更多相关主题的帖子: sql数据库 身份证号 接口 
2013-05-06 14:23
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:15 
程序代码:
*--- 保留字段A中最小值的那一行

CREATE CURSOR T (A I,B C(2),C C(3))
INSERT INTO T VALUES (1,[AA],[BB1])
INSERT INTO T VALUES (2,[AA],[BB2])
INSERT INTO T VALUES (3,[CC],[BB3])
INSERT INTO T VALUES (4,[AA],[BB4])
INSERT INTO T VALUES (5,[CC],[BB5])

*1. 查询单个字段重复的记录,并删除重复记录的行
*SELECT * FROM T WHERE B IN (SELECT B FROM T GROUP BY B HAVING COUNT(B)>1) ORDER BY B

DELETE T FROM (SELECT * FROM T WHERE ;
B IN (SELECT B FROM T GROUP BY B HAVING COUNT(B)>1) ;
AND A NOT IN (SELECT MIN(A) FROM T GROUP BY B HAVING COUNT(B)>1)) A WHERE T.A=A.A
MESSAGEBOX(_TALLY)
这段代码可能对W版有帮助

坚守VFP最后的阵地
2013-05-06 14:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:0 
如果是整条记录重复,可用
SELECT DISTINCT * FROM TABNAME
姓名重复是允许的,身份证号码重复就不能允许了

[ 本帖最后由 sdta 于 2013-5-6 14:48 编辑 ]

坚守VFP最后的阵地
2013-05-06 14:46
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
好的 我试试  我说的就是3楼的情况  2楼的代码  暂时先记下了

DO IT YOURSELF !
2013-05-06 14:48
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
s版: 你说是修改源代码prg 好呢  还是再弄一个exe好呢

这段卸载数据库的程序是我写的 给别人使用  N年后 又来找我修改bug  郁闷啊

DO IT YOURSELF !
2013-05-06 14:50
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:15 
2013-05-06 14:53
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:0 
不妨给他PRG原代码

[ 本帖最后由 sdta 于 2013-5-6 14:58 编辑 ]

坚守VFP最后的阵地
2013-05-06 14:56
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
不了解  只会用

DO IT YOURSELF !
2013-05-06 14:58
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9824
专家分:27129
注 册:2012-2-5
收藏
得分:0 
这种代码使用次数不会有多次,问题解决后,也没保存的价值了

坚守VFP最后的阵地
2013-05-06 15:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
很遗憾  

vfp6.0下

select dist * from 201304 order by sfzh

这句语句 一条记录都去不掉啊   原来是4022条记录 执行完后 还是4022条呢

DO IT YOURSELF !
2013-05-06 15:27
快速回复:咋能去除相同记录
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017873 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved