Я пытаюсь вставить записи из 2 таблиц в другую таблицу, где AppID еще не существует в таблице, в которую я вставляю.
Я пробовал оба оператора вставки ниже; однако я продолжаю получать сообщение об ошибке:
«Сообщение 2627, уровень 14, состояние 1, строка 1
Нарушение ограничения PRIMARY KEY «PK_tblHQTRR_BusiRisk_AppID». Невозможно вставить повторяющийся ключ в объект «dbo.tblHQTRR_BusiRisk». Значение повторяющегося ключа (APPID-49348). Оператор имеет был прекращен».
Что я делаю неправильно с моими операторами вставки?
Вставьте утверждения, которые я пробовал:
INSERT INTO tblHQTRR_BusiRisk(AppID,AppName,Tier,QTRR,BusiRisk)
SELECT A.AppID, A.AppName, A.TierLevel, A.QTRR, R.BusiRisk
FROM tblApplication A INNER JOIN tblProject P ON A.AppID=P.AppID1 INNER JOIN tblRisk R ON P.ProjID=R.ProjID
WHERE A.AppID NOT IN (SELECT H.AppID FROM tblHQTRR_BusiRisk H) And P.AppID1 NOT IN (SELECT H.AppID FROM tblHQTRR_BusiRisk H)
And A.AppName IS NOT NULL And R.BusiRisk IS NOT NULL;
INSERT INTO tblHQTRR_BusiRisk(AppID,AppName,Tier,QTRR,BusiRisk)
SELECT A.AppID, A.AppName, A.TierLevel, A.QTRR, R.BusiRisk
FROM tblApplication A INNER JOIN tblProject P ON A.AppID=P.AppID1 INNER JOIN tblRisk R ON P.ProjID=R.ProjID LEFT JOIN tblHQTRR_BusiRisk H ON H.AppID=A.AppID And H.AppName=A.AppName And H.Tier=A.TierLevel And H.QTRR=A.QTRR And H.BusiRisk=R.BusiRisk
WHERE H.AppID IS NULL;