Bonjour,
J'ai besoin d'aide pour corriger une requête qui ne marche pas SVP
Je vous explique ma situation :
J'ai deux tables, la première t1 avec les champs : Nom, Prenom, Date et Blog (c'est le champ que je dois mettre à jour)
et la deuxième t2 avec : Nom, Prenom, Date, Numero et Blog
Ma requête doit vérifier une jointure, si Nom, Prenom et Date de t1 = Nom, Prenom et Date de t2 alors on met à jour t1.Blog par t2.Blog
Et si il y a des doubles dans les lignes répondant à la jointure, alors prendre la ligne qui a le Numero le plus grand.
J'ai essayé cette requête, mais elle me renvoie une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 update table1 t1 set t1.Blog = select t2.Blog from table2 t2 where t1.Nom = t2.Nom and t1.Prenom = t2.Prenom and t1.Date = t2.Date and t2.Numero = (select t2.Numero from table2 t2 inner join (select max(t2.Numero) as maximum, Nom,Prenom,Date from table2 t2 group by Nom,Prenom,Date ) src on src.Nom=t2.Nom and src.Prenom=T2.Prenom and src.Date=t2.Date and src.maximum=t2.Numero)
J'aimerai aussi que ma requête soit optimisée le plus possible vu que je vais la tester sur une grande volumétrie de données, merci d'avance
Partager