Choisir les champs dans une requête JOIN ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Choisir les champs dans une requête JOIN ?

Re: Choisir les champs dans une requête JOIN ?

par abelthorne » 22 févr. 2010, 16:30

Quel SGBD utilises-tu ? C'est une information demandée pour poster dans ce forum. Si tu n'obtiens rien c'est parceque tu demandes "id", qui est une colonne présente dans les deux tables. Tu devrais obtenir une erreur, comment est-ce que tu testes tes requêtes ?
MySQL. Je teste les requêtes avec PHPMyAdmin.

Et en fait, ça a l'air de marcher en précisant les tables et les champs (SELECT table1.id,table1.nom,table2.id2,table2.id,table2.photo FROM table1 LEFT JOIN table2 ON table1.id=table2.id par exemple). Je l'avais fait avant de poster mais je n'obtenais rien. J'ai dû faire une erreur de syntaxe à ce moment-là. :oops:

Re: Choisir les champs dans une requête JOIN ?

par stealth35 » 22 févr. 2010, 16:14

ta essayer avec des alias ? (a peu prêt)
SELECT tb1.id, tb2.nom FROM table1 tb1 LEFT JOIN table2 tb2 ON tb1.id=tb2.id

Re: Choisir les champs dans une requête JOIN ?

par ouckileou » 22 févr. 2010, 16:13

Mais commant faire pour choisir les champs à manipuler ?
De la même façon que tu les spécifies dans ta jointure.

Quel SGBD utilises-tu ? C'est une information demandée pour poster dans ce forum. Si tu n'obtiens rien c'est parceque tu demandes "id", qui est une colonne présente dans les deux tables. Tu devrais obtenir une erreur, comment est-ce que tu testes tes requêtes ?

Choisir les champs dans une requête JOIN ?

par abelthorne » 22 févr. 2010, 15:46

Bonjour,
Si je fais une requête du genre SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id, ça marche sans problème. Mais commant faire pour choisir les champs à manipuler ?

Par exemple, j'ai dans ma table1 les champs "id", "nom", "description" (clé sur id) et dans la table2 "id2", "id", "photo", "commentaire" (clé sur id2, id correspondant à la clé de la table1 pour la jointure). Je voudrais sélectionner "id" et "nom" dans la table1, "id2", "id" et "photo" dans la table2 tout en faisant une jointure dessus.

Si je fais une requête du genre SELECT id,nom FROM table1 LEFT JOIN table2 ON table1.id=table2.id, je n'obtiens rien. Apparemment la requête SELECT demande les champs indiqués aux deux tables (j'aurais pensé qu'elle prendrait tous les champs de la table2, au pire). Où/comment indiquer la liste des champs à prendre en compte pour la table sur laquelle on fait la jointure ?