Bonjour,
je souhaiterai transformer la requete suivant en update :

T1 contient
hash varchar (20) clé primaire
hash_libelle varchar (50)

T2 :
ID : entier auto incrémenter, clé primaire
hash varchar (20), clé etrangère pour T1
hash_libelle varchar(50)

T1 contient tout les hash existant.
T2 contient l'historique de des libéllé des hashs.

Je souhaite renseigné dans t1.hash_libelle le plus ancien libéllé. Je le récupère via min(id).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
select t1.hash, min(t2.id), t2.hash_libelle
from tb_hash t1 join tb_hash_histo t2 using (hash)
group by t2.hash
Cette requete fonctionne et j'aimerai la transformé en update sans sous requete, j'ai mysql 4.0.16 et je ne peux pas upgrader en 4.1.

j'ai tenté ce code mais j'ai une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
update tb_hash t1 join tb_hash_histo t2 using (hash)
set t1.hash_libelle = t2.hash_libelle
group by t2.hash
having id = min(id)