问题描述
我是sql新手。我想在表中添加行而不创建重复项,但是我不断收到错误,我也不知道为什么:
INSERT INTO [P ET FA] (id_danger,P,FA)
(SELECT
measure.id_danger,SUM(mesure.valeur_mesure) AS P,SUM(mesure.Val) AS FA
FROM mesure
GROUP BY mesure.id_danger)
WHERE mesure.id_danger != [P ET FA].id_danger
解决方法
我对ACCESS不太熟悉,但是您可以尝试:
INSERT INTO [P ET FA] (id_danger,P,FA)
SELECT measure.id_danger,SUM(mesure.valeur_mesure) AS P,SUM(mesure.Val) AS FA
FROM mesure
where mesure.id_danger not in (select id_danger FROM [P ET FA])
GROUP BY mesure.id_danger
,
INSERT INTO [P ET FA] (id_danger,FA)
SELECT SRC.id_danger,SUM(SRC.valeur_mesure) AS P,SUM(SRC.val) AS FA
FROM mesure SRC
LEFT JOIN [P ET FA] DEST
ON SRC.id_danger = DEST.id_danger
WHERE DEST.id_danger IS NULL
GROUP BY SRC.id_danger
这只会为目标表中尚未存在的id_danger值插入值。