update requête

Le
Kamel
Bonjour,

Je n'arrive pas à faire une requête avec update en utilisant 2 tables
jointes.
Est - ce normal ?

update table1 t1, table2 t2
set t1.val1=t1.val2
where t1.cle1=t2.cle2

merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11720721
ce que tu essaye de faire est absurde car tu essaye de mettre à jour 2
tables en même temps.

La solution est :

update table1
set val1 = (SELECT t1.val2
FROM table1 t1
INNER JOIN table2 t2
ON t1.cle1=t2.cle2)

A lire sur le sujet :
http://sqlpro.developpez.com/SQL_AZ_6.html#UPDATE_SELECT

Au passage les jointures se font dans des clauses de jointures (JOIN) et
non dans le where.

A lire : http://sqlpro.developpez.com/SQL_AZ_3.html#JOIN_syntaxe

A +


Kamel a écrit:
Bonjour,

Je n'arrive pas à faire une requête avec update en utilisant 2 tables
jointes.
Est - ce normal ?



> update table1 t1, table2 t2
> set t1.val1=t1.val2
> where t1.cle1=t2.cle2

merci





--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Publicité
Poster une réponse
Anonyme