I am new to SQL. I want to add lines to a table without creating duplicates, but I keep getting errors and I don't know why:
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
I am not very familiar with ACCESS but you could try:
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, P, 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
This will insert values ONLY for those id_danger values that are not already in the destination table.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.