如何在VF中删除重复的记录啊

mimi5211 2008-11-04 11:33:31
我在VF9.0中的表ksxx.dbf有重复的记录,如何将他们选出并删掉啊,并且重复的记录只保留一条啊。
...全文
4927 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xilaianzxsc 2010-06-22
  • 打赏
  • 举报
回复
同意2楼的方法
fengpiaoxu1019 2010-04-20
  • 打赏
  • 举报
回复
現在我有一個這樣的表:表名為“讀音”

文字 記號 讀音 類別
阿 1 a A
阿 2 a A
阿 3 e B
阿 4 e B
哦 5 o C
卒 6 zu D
卒 7 cu E

用怎樣的命令可以解決同時這兩個問題:
1.直接刪除文字、讀音、類別三個字段完全相同的記錄,只保留一條,如第1、2條中只保留一條,第3、4條中只保留一條。
2.標記(逻辑删除)文字字段相同,但其他字段不同的字。如第1、3、6、7条记录。
fengpiaoxu1019 2010-04-20
  • 打赏
  • 举报
回复
現在我有一個這樣的表:表名為“讀音”

文字 記號 讀音 類別
阿 1 a A
阿 2 a A
阿 3 e B
阿 4 e B
哦 5 o C
卒 6 zu D
卒 7 cu E

用怎樣的命令可以解決同時這兩個問題:
1.直接刪除文字、讀音、類別三個字段完全相同的記錄,只保留一條,如第1、2條中只保留一條,第3、4條中只保留一條。
2.標記(逻辑删除)文字字段相同,但其他字段不同的字。如第1、3、6、7条记录。

wgclcn 2008-11-06
  • 打赏
  • 举报
回复
留个标记,下次要用好参考.谢谢
wwwwb 2008-11-05
  • 打赏
  • 举报
回复
是只有KEY字段还是整条记录重复?
十豆三 2008-11-05
  • 打赏
  • 举报
回复
删除重复的记录,重复的记录保留一条:

*VFP7.0 以下
SELECT * FROM 表名 INTO CURSOR 新表名 GROUP BY 重复字段名1,重复字段名2

*VFP7.0 以上
SYS(3099,70)
SELECT * FROM 表名 INTO CURSOR 新表名 GROUP BY 重复字段名1,重复字段名2
SYS(3099,90)


某几个字段或全部字段重复,保留1条记录(只适合DBF表):

INDEX ON 字段1+字段2+...+字段N TO TEMP1 &&如果有字段不是字符型,请注意转换。
TOTAL ON 字段1+字段2+...+字段N1 TO TEMP2 FIELDS 字段1 &&假设字段1为字符型
&&ON 后的字段为重复的字段名
&&temp2.dbf就是你要的表

USE 原表
INDEX ON 字段1 TO LS
TOTAL ON 字段1 TO 结果表 FIELDS 表中其中一个字符型字段

如果要保留的记条每条都不重复
Select Distinct * Into Table 结果表 From 你的表
nyp8896 2008-11-05
  • 打赏
  • 举报
回复
用个笨办法吧,
1、用带distinct参数的select语句将不重复的记录存入一数组中atemp,语句如下:
select * distinct from ksxx.dbf where .t. into array atemp
2、为安全,将表文件ksxx.dbf备份后,将表中的全部记录删除(手动操作全部删除就最省事)
3、用append array将数组atemp追加到表ksxx.dbf中
select ksxx.dbf
append from array atemp

或者将表复制并重命名成ksxx_new.dbf ,删除ksxx_new.dbf中的全部记录,用带distinct参数的select语句将不重复的记录存入该表中
select * distinct from ksxx.dbf where .t. into table ksxx_new.dbf
如果需要,将ksxx_new.dbf重命名成ksxx.dbf

我没试过,感觉理论上可行

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧