【发布时间】:2019-01-11 17:29:22
【问题描述】:
执行以下操作时,我不断收到重复键错误。我无法弄清楚我做错了什么来产生这个错误。有人可以看看我错过了什么吗?谢谢!
INSERT INTO tblApp_Risk (AppID, BusiRisk, TechRisk, InterimRiskMitigate, RiskMitigateDesc, KeyDriverDesc, ITSvcsKeyDriver,
RMStartOrderReason, ESMVendorRisk, KeyManRisk, MultVersBehind, ProdStabRisk, RegCompRisk, TierArchGap)
SELECT DISTINCT
P.AppID1, R.BusiRisk, R.TechRisk, R.InterimRiskMitigate,
R.RiskMitigateDesc, R.KeyDriverDesc, R.ITSvcsKeyDriver,
R.RMStartOrderReason, R.ESMVendorRisk, R.KeyManRisk, R.MultVersBehind,
R.ProdStabRisk, R.RegCompRisk, R.TierArchGap
FROM
tblProject P
INNER JOIN
tblRisk R ON P.ProjID = R.ProjID
WHERE
NOT EXISTS (SELECT *
FROM tblApp_Risk K
WHERE K.AppID = P.AppID1)
AND P.AppID1 IS NOT NULL;
【问题讨论】:
-
那么,如果您将 insert into 子句放入并运行 select,结果集是否足够小,您可以直观地扫描重复键?也许在那个领域排序?否则,您可以单独对该字段进行分组并进行计数。
标签: sql-server sql-insert not-exists