gpt4 book ai didi

sql - 重复主键sql

转载 作者:行者123 更新时间:2023-12-04 17:46:25 24 4
gpt4 key购买 nike

这似乎是 SQL Server : Duplicate Primary Key error .

我会给出一些背景。首先,我使用的是 SQL Express。其次,我正在使用导入和导出向导。三、源文件是文本文件。第四,我已经成功地导入了这个文件的另外两个版本,FIRMS。 2017q2 和 2013q2 进口罚款但 2013q1 不会。原因是重复的主键错误。

我的主键是stateaccountunityrqtr。还有 25 个其他外键。示例数据如下。

可以说,错误消息产生了一个令人反感的值。我在 excel 和记事本++ 中找到了这个值。然而,当我挖掘时,我发现这四个的组合只发生一次。

作为进一步测试,在 excel 中,我将四个主键值连接到一个字段中,然后在连接(组合)值中搜索重复项。 Excel 会显示结果,但当您查看它们时,它们并不相同。每个被视为重复的项目的单位编号不同。我注意到当 name1(不是主键)有超过 1 个值时,excel(和我假设的 SQL)认为它是重复的。我只使用 excel 作为查找重复项的工具。

state   area    account    unit     yrqtr     name1     name2
32 000001 12345 00001 201301 bakery xyz bakery
32 000003 12346 00001 201301 auto xyz auto

至于 SQL,我将 201301 作为加载表导入,而不是将其附加到 FIRMS。从那里,我使用了以下代码。结果没有结果。最后,我查看了 201702 和 201302,没有发现重复的

select state,account,unit,yrqtr
from dbo.201301
Group by state,account,unit,yrqtr
having count(*) >1

关于如何解决这个看似不存在的重复项的问题有什么想法吗?

最佳答案

获取目标表的空副本,禁用主键和外键,将所有文件导入该表并运行查询以检查重复数据。这可能会揭示数据是否在导入过程中被修改。

SELECT state, account, unit, yrqtr, COUNT(*) AS dups 
FROM TableCopy
GROUP BY state, account, unit, yrqtr
HAVING COUNT(*) > 1

关于sql - 重复主键sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com