Bonjour,
Je possède deux tables T1 et T2, je souhaite copier certaines informations de la table T2 dans ma table T1 (utilisation d'un Update)
Le problème, c'est que dans le cas ci-dessus, je ne mets à jour qu'une seule valeur, hors je souhaite en mettre plusieurs car je peux en récupérer plusieurs avec la même requete de sélection...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE T1 SET T1.val1 = SELECT T2.val1 FROM T2 WHERE T2.guide = T1.guide WHERE "ma condition sur T1"
En gros je voudrais faire:
Mais il me jette à la virgule après "T1.val1"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE T1 SET T1.val1,T1.val2,... = SELECT T2.val1,T2.val2,... FROM T2 WHERE T2.guide = T1.guide WHERE "ma condition sur T1"
Donc d'après ce que j'ai compris, il faudrait que je fasse:
Le problème c'est que je souhaite updater 16valeurs alors ça me gêne de devoir faire 16 requete SELECT (identiques, excepté la valeur retournée) d'autant plus que cette requête SELECT est plus compliquée que ci-dessus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 UPDATE T1 SET T1.val1 = SELECT T2.val1 FROM T2 WHERE T2.guide = T1.guide , T1.val2 = SELECT T2.val2 FROM T2 WHERE T2.guide = T1.guide , T1.*** = SELECT T2.*** FROM T2 WHERE T2.guide = T1.guide WHERE "ma condition sur T1"
QQn aurait-il une idée ou un conseil ?
Partager