UPDATE sur une table avec des condition sur d'autres

Breathe
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 16:27

Bonjour à tous,
J'ai un soucis pour une requête SQL concernant un UPDATE. J'ai deux tables (ce ne sont pas les vrais c'est pour simplifier) :

ABONNE (abo_id,nom,prenom,abo_chien_id)
CHIEN(chien_id,race,age)

Je voudrais changer la race des chiens de tout les jean-patric

je fais
UPDATE chien SET race='caniche' WHERE chien_id=abo_chien_id and prenom='jean-patric'
Or comme les attributs abo_chien_id et prenom ne sont pas dans la table chien j'ai droit à un "Invalid indentifier". Comment faire cette requête ?

Merci par avance pour votre aide :oops:

ViPHP
ViPHP | 2291 Messages

26 mars 2012, 19:20

Salut,

Comme ceci je pense
UPDATE chien AS T1, abonne AS T2 
             SET T1.race = 'caniche' 
             WHERE T1.chien_id = T2.abo_chien_id 
             AND T2.prenom = 'jean-patric'
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Breathe
Invité n'ayant pas de compte PHPfrance

27 mars 2012, 14:44

Avec cette méthode l'erreur qui m'est retournée est : "missing SET keyword".
Pourtant SET fait bien parti de la requête ... Je ne comprends pas. Faut-il deux SET car il y a deux table après UPDATE ? :?

Breathe
Invité n'ayant pas de compte PHPfrance

28 mars 2012, 09:36

Je vous copie la véritable requête si ça peut vous aider
UPDATE panier_commande AS T1,substance_view AS T2 SET T1.pani_date_=SYSDATE WHERE T1.pani_comm_id=1 and T1.pani_substance_id=T2.substance_id and T2.substance_carac_id=8 and T1.pani_date_accord is NULL

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

28 mars 2012, 10:04

Et comme ceci ?
UPDATE panier_commande 
SET    pani_date_= SYSDATE
WHERE  pani_comm_id = 1
   AND pani_substance_id = substance_view.substance_id
   AND substance_view.substance_carac_id = 8
   AND pani_date_accord IS NULL

Breathe
Invité n'ayant pas de compte PHPfrance

28 mars 2012, 13:36

Avec cette requête j'obtiens : "SUBSTANCE_VIEW"."SUBS_CARAC_ID": invalid identifier

Pourtant cet attribut existe bien dans substance_view