sql - 尝试从访问表中删除重复记录
问题描述
我正在寻找从我的数据库中的表中删除重复记录。我正在使用下面的查询来创建一个临时表,以便识别重复项,然后删除它们。但是我不断收到“无法从指定的表中删除”错误消息。为什么这个查询不起作用,我应该如何编辑它才能起作用?谢谢!
DELETE [Carrier Name Crosswalk].*
FROM [Carrier Name Crosswalk]
INNER JOIN [Carrier Name Crosswalk] AS [Carrier Name Crosswalk_1]
ON [Carrier Name Crosswalk].[DYCR TPA_CARRIER] = [Carrier Name Crosswalk_1].[DYCR TPA_CARRIER]
WHERE ((([Carrier Name Crosswalk_1].ID)>[Carrier Name Crosswalk].[ID]));
解决方案
你可以试试下面 -
DELETE *
FROM [Carrier Name Crosswalk] AS C1
WHERE C1.[ID]<>
(SELECT MAX(C2.[ID])
FROM [Carrier Name Crosswalk] AS C2
WHERE C2.[DYCR TPA_CARRIER] = C1.[DYCR TPA_CARRIER]);
推荐阅读
- python - Django 2.2 错误:int() 参数必须是字符串、类似字节的对象或数字,而不是“列表”
- javascript - 如何将 Jquery 代码转换为纯 JavaScript 代码
- android - OneSignal Web 查看基于用户的通知
- java - 如何从 Jlist 中获取所有值?
- windows - Qt + VTK 无法在 Surface Pro X 上运行
- javascript - Javascript:使用地图在每个循环中迭代多个项目
- php - 将 MYSql 数据放入 HTML 表格中的 HTML 表单中的下拉列表中
- javascript - 我怎样才能使我的 handleChange 中的值成为一个新的选择器?
- oracle-apex - 为什么 Oracle 在设置多个值时建议使用 model.setValue() 方法而不是 setRecordValue()?
- r - 如何将水文降雨分析数据 (MPE/AHPS) 栅格投影为可用格式?