0

When I run this query I got syntax error. Why?

UPDATE `p` SET `p`.`PIVA` = `i`.`CCT_CODICE_PI`, `p`.`CODICE_FISCALE` = `i`.`CCT_CF`
FROM `CONTATTI_T_Contab_Progetti_Finale` `p`
LEFT JOIN `CONTATTI_T_Contab_Anagrafica` `i` ON `p`.`CCK_ANAGRAFICA` = `i`.`CCK_ANAGRAFICA`
WHERE `p`.`DAK_ANES_COGE` < 2014
FranCode
  • 93
  • 1
  • 7
  • 3
    set comes after from/joins an before where. – P.Salmon Nov 29 '18 at 09:01
  • what _exactly_ does the syntax error say? It should be giving you a clue about roughly where the problem lies. – ADyson Nov 29 '18 at 09:07
  • You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM 'CONTATTI_T_Contab_Progetti_Finale' 'p' LEFT JOIN 'CONTATTI_T_Contab_Anagr' at line 2 – FranCode Nov 29 '18 at 09:09
  • Possible duplicate of [MySQL - UPDATE query based on SELECT Query](https://stackoverflow.com/questions/1262786/mysql-update-query-based-on-select-query) – Christian Felix Nov 29 '18 at 09:11

1 Answers1

2

You can try below - update syntax is different for MYSql

UPDATE `CONTATTI_T_Contab_Progetti_Finale` `p`
LEFT JOIN `CONTATTI_T_Contab_Anagrafica` `i` ON `p`.`CCK_ANAGRAFICA` = `i`.`CCK_ANAGRAFICA`
SET `p`.`PIVA` = `i`.`CCT_CODICE_PI`, `p`.`CODICE_FISCALE` = `i`.`CCT_CF`
WHERE `p`.`DAK_ANES_COGE` < 2014
Fahmi
  • 37,315
  • 5
  • 22
  • 31