Requête SQL selectionner l'id d'une table sans clef commune
Bonjour,
Voici mon petit souci:
J'ai trois tables, A B et C.
-La clef étrangère entre A et B est idDef.
-La clef étrangère entre B et C est idCom.
Il n'y a pas de liens direct entre A et C.
Maintenant je dois faire un update dans la table A, à partir d'une variable correspond à idCom qui est donc la clef étrangère entre B et C. Vous me suivez ?
Bien sur je peux d'abord faire une requête SQL pour récupérer l'id de A dont idDef se trouve être dans la table B liée à C depuis idCom. Mais cela fait une requête de plus, c'est dommage.
J'ai donc essayé cela :
Code:
$update="UPDATE `definitions` SET nbrCommentaire=nbrCommentaire+1,titre='".$titre."', date='".$date."' WHERE id=(SELECT id FROM `definitions`WHERE definitions.id=commentaire.idDef AND commentaire.id='".$idCom."')";
Comme vous pouvez le deviner, cela fonctionne à merveille.
Avez-vous mieux, à tout hasard ... ?
Re: requête SQL selectionner l'id d'une table sans clef comm
Citation:
Envoyé par psychoBob
Bonjour,
J'ai donc essayé cela :
Code:
$update="UPDATE `definitions` SET nbrCommentaire=nbrCommentaire+1,titre='".$titre."', date='".$date."' WHERE id=(SELECT id FROM `definitions`WHERE definitions.id=commentaire.idDef AND commentaire.id='".$idCom."')";
Comme vous pouvez le deviner, cela fonctionne à merveille.
C'est quoi le message d'erreur de mysql ?