以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]删除部分重复行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172767)

--  作者:lgj716330
--  发布时间:2021/10/30 9:27:00
--  [求助]删除部分重复行
如下图,想删除红框中编号相同但时间早一些的记录,即保留最近的记录,要如何处理

图片点击可在新窗口打开查看此主题相关图片如下:3757b42e-99b1-4d87-b20f-8c7c71e5a574.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/10/30 9:46:00
--  
SqlServer参考,下面代码请到测试库测试
Delete from a from {表A} as a inner join (Select 审批编号,max([完成时间]) As 完成时间 from {表A} group by 审批编号) as b on a.[审批编号] = b.[审批编号] and a.完成时间 <> b.完成时间

--  作者:lgj716330
--  发布时间:2021/10/30 10:37:00
--  
Dim cmd As New SQLCommand
cmd.Connection Name = "ABC"
cmd.CommandText = "Delete from a from {表A} as a inner join (Select 审批编号,max([完成时间]) As 完成时间 from {表A} group by 审批编号) as b on a.[审批编号] = b.[审批编号] and a.完成时间 <> b.完成时间"
cmd.ExecuteNonQuery()

执行没反应

--  作者:有点蓝
--  发布时间:2021/10/30 10:56:00
--  
sql放到数据库里执行,通过了再用,表名改为自己的
--  作者:lgj716330
--  发布时间:2021/10/30 11:03:00
--  
哦,原来数据库里已经删除成功了,只是前端表中没反应,那就重新加载下数据表就行了