Salut,

alors :

2 tables : herbi_programme2 et herbi_mat_active2

dans herbi_mat_active2, 2 champs intéressant : herbicide et unite
dans herbi_programme2, 2 champs aussi intéressant : herbicide et dose

Je veut mettre à jour les champs doses (les multiplier par 1000) mais seulement pour les herbicides où l'unité est en %.

voilà ce que j'ai tenté :

SELECT DISTINCT herbi_programme2.herbicide
FROM herbi_programme2
INNER JOIN herbi_mat_active2
ON herbi_mat_active2.unite = '%'
AND herbi_programme2.herbicide = herbi_mat_active2.herbicide

=> ça me donne bien les herbicides où il faut modifier la dose

je fais donc la requète suivante mais ça ne marche pas ...

requête SQL :

UPDATE herbi_programme2 SET dose = dose*1000
WHERE herbi_programme2.herbicide
IN (
SELECT DISTINCT herbi_programme2.herbicide
FROM herbi_programme2
INNER JOIN herbi_mat_active2
ON herbi_mat_active2.unite = '%'
AND herbi_programme2.herbicide = herbi_mat_active2.herbicide
)

MySQL a répondu:
#1064 - You have an error in your SQL syntax near 'SELECT DISTINCT herbi_programme2.herbicide
FROM herbi_programme2
INNER JOIN herbi_mat' at line 1

(j'utilise phpMyAdmin)

C'est pas une histoire d'update multiple sur plusieurs tables impossible avant la version 4 (j'ai la version 3.23 de MySQL ) ?

Merci !