Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1565 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête SQL jointure deux champs vers un même champ

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête SQL jointure deux champs vers un même champ

n°2246729
zazounn
Posté le 22-12-2014 à 16:28:03  profilanswer
 

Bonjour,  
 
j'ai une table Prenoms:
ID prenom
1 robert
2 alice
3 jean
4 vincent
5 juliette
 
Et j'ai une table rencontre avec:  
ID premier second
1  5            2
2  5            3
 
 
J'aimerai afficher un truc du genre:  
Rencontres programmées:  
juliette - alice
juliette - jean  
 
(dans mon exemple).
 
Seulement voila j'arrive à faire un INNER JOIN avec mon champ "premier" et le champ "prenoms" mais après je n'arrive pas à faire une jointure entre "second" et ce même champ "prénom".
 
Comment faire ?
 
Merci

mood
Publicité
Posté le 22-12-2014 à 16:28:03  profilanswer
 

n°2246730
kao98
...
Posté le 22-12-2014 à 16:40:32  profilanswer
 

Utilise des alias :

 
Code :
  1. SELECT p1.prenom, p2.prenom
  2. FROM rencontre r
  3. INNER JOIN prenoms p1 ON r.premier = p1.id
  4. INNER JOIN prenoms p2 ON r.second = p2.id
 

quelque chose comme ça ça devrait fonctionner.


Message édité par kao98 le 22-12-2014 à 16:40:56

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°2246731
zazounn
Posté le 22-12-2014 à 16:45:51  profilanswer
 

Je viens d'essayer et cela ne marche pas, dans mon affichage j'ai juste le premier prénom et pas le second. En gros j'ai - pour continuer avec mon ex - :
juliette - 2
juliette - 3
 
:??:

n°2246732
kao98
...
Posté le 22-12-2014 à 16:51:52  profilanswer
 

C'est quoi ta requête ?
Parce que là, le résultat que tu obtiens est complètement incohérent avec la requête que j'ai posté. Tu l'as modifiée ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°2246735
zazounn
Posté le 22-12-2014 à 17:06:02  profilanswer
 

Voici ma requête :

 
Code :
  1. $reponse = $bdd->query ('
  2.   SELECT r.journee, r.date, r.premier, r.second, p1.prenom, p2.prenom
  3.   FROM rencontres r
  4.   INNER JOIN prenoms p1 ON r.premier = p1.id
  5.   INNER JOIN prenoms p2 ON r.second = p2.id
  6.   ORDER BY r.journee ASC');
 

EDIT
Je poste mon code pour l'affichage parce qu'au final c'est sans doute de là d'ou vient le souci et non du code que tu m'as donné.
En fait je ne sait pas quoi mettre parce que lorsque je mets:

Code :
  1. echo '<td> '.$donnees['prenom'].' - '.$donnees['prenom'].'</td> ' ;


cela me donne deux fois le même prenom et c'est pas ce que je veux

 

alors quoi faire ?

 


Message édité par zazounn le 22-12-2014 à 17:09:49
n°2246736
kao98
...
Posté le 22-12-2014 à 17:10:15  profilanswer
 

La requête semble correcte.
Tu n'aurais pas un problème avec ton code PHP ? D'ailleurs, tu dis bien 3 posts plus haut que c'est ton affichage qui n'est pas bon. Si tu exécutes la requête directement sur le serveur SQL, ça donne quoi ?
C'est quoi comme serveur d'ailleurs ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°2246737
kao98
...
Posté le 22-12-2014 à 17:12:13  profilanswer
 

Ha, ok, c'est plus clair.
Oui, c'est ton affichage qui n'est pas correct.
 
Une solution simple :
 

Code :
  1. $reponse = $bdd->query ('
  2.     SELECT r.journee as journee, r.date as date, r.premier as id_premier, r.second as id_second, p1.prenom as prenom1,    p2.prenom as prenom2
  3.     FROM rencontres r
  4.     INNER JOIN prenoms p1 ON r.premier = p1.id
  5.     INNER JOIN prenoms p2 ON r.second = p2.id
  6.     ORDER BY r.journee ASC');
  7.  
  8. // (...)
  9.  
  10. echo '<td> '.$donnees['prenom1'].' - '.$donnees['prenom2'].'</td> ' ;


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°2246738
zazounn
Posté le 22-12-2014 à 17:15:18  profilanswer
 

:bounce:  
 
Merciiii ! C'était tellement bête !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête SQL jointure deux champs vers un même champ

 

Sujets relatifs
Selection de valeurs d'un champ TCD fonctionne sur 2007 mais pas 2010besion solution Exercice SQL
Lire un packet DNS (un champ de long. variable) dans une structure ?décimales qui se n'affichent pas SQL Developer
[POSTGRES SQL] Besoin d'aideJSON vers SOAP
(SQL] AIde pour requèteTester la valeur d'un champ avec onchange
PDO et procédure stockée SQL Server 
Plus de sujets relatifs à : Requête SQL jointure deux champs vers un même champ


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR