简体   繁体   中英

Why do I keep getting syntax error in insert into (MS Access 2013)

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM