IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Jointure: Avec deux champs d'une même table


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Points : 57
    Points
    57
    Par défaut Jointure: Avec deux champs d'une même table
    Bonjour,

    Me voila devant un problème dont je n'arrive pas trouver la solution...
    Je m'explique:

    J'ai une table "clubs" avec les champs id_clubs_nom et nom
    J'ai une table "match" dans laquelle j'ai deux champs qui concerne la requête qui sont: id_equipe_dom et id_equipe_ext

    Ce que je voudrais, c'est sortir de ma requête toutes les équipes rencontrées (en enlevant l'équipe favorite).

    Le souci vient du fait qu'avec deux champs dans la même table, je ne sais pas comment faire pour gérer la jointure...

    J'avais fait quelque chose comme ça, mais ça ne me donne que les équipes " à domicile":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $aff_adversaires = $sql->query("SELECT * FROM "._TMATCH_." AS m, "._TCLUBNOM_." AS c WHERE m.id_equipe_dom AND m.id_equipe_ext=c.id_clubs_nom AND id_clubs_nom!='40'")or die (mysql_error());
    J'espère que j'ai pas été trop incompréhensible dans mes propos, lol...

    Merci d'avance!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut que tu fasses references deux fois a la table en utilisant des alias :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT c1.nom as nom_dom, c2.nom as nom_ext FROM
     clubs as cdom 
    JOIN matchs ON id_equipe_dom=cdom.id_club_nom 
    JOIN clubs as cext ON id_equipe_ext=cext.id_club_nom
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il faut que tu fasses references deux fois a la table en utilisant des alias :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT c1.nom as nom_dom, c2.nom as nom_ext FROM
     clubs as cdom 
    JOIN matchs ON id_equipe_dom=cdom.id_club_nom 
    JOIN clubs as cext ON id_equipe_ext=cext.id_club_nom
    Avec cette méthode je me retrouve donc avec en tous les matches de l'année. Le souci vient ensuite du fait de devoir "soustraire" mon "équipe favorite des champs id_equipe_dom et id_equipe_ext afin de n'avoir uniquement que les adversaires qui s'affichent... et là gros souci.

    Je pense que je dois pas avoir la bonne syntaxe, j'ai essayé avec uniquement:
    AND id_equipe_dom!= xx ou AND id_equipe_ext!= xx -> ca me soustrait bien mon club favori mais pour ce qui est des deux en même temps:

    AND id_equipe_dom!= xx AND id_equipe_ext!= xx -> touts les clubs ont disparu. J'ai essayé également AND id_equipe_dom, id_equipe_ext!= xx et AND id_equipe_dom AND id_equipe_ext!= xx
    mais sans succès...

    Je pense que ça doit pouvoir se faire, donc l'erreur vient de la syntaxe de ma requête qui n'est pas bonne...?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne garantie pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT c1.nom as nom_dom, c2.nom as nom_ext FROM
     clubs as cdom 
    JOIN matchs ON matchs.id_equipe_dom=cdom.id_club_nom AND matchs.id_equipe_dom != xxxx
    JOIN clubs as cext ON matchs.id_equipe_ext=cext.id_club_nom  AND matchs.id_equipe_ext != xxxx
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 110
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je ne garantie pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT c1.nom as nom_dom, c2.nom as nom_ext FROM
     clubs as cdom 
    JOIN matchs ON matchs.id_equipe_dom=cdom.id_club_nom AND matchs.id_equipe_dom != xxxx
    JOIN clubs as cext ON matchs.id_equipe_ext=cext.id_club_nom  AND matchs.id_equipe_ext != xxxx
    Hélas, ça ne marche pas... la page rame en se chargeant quelques temps, avant de s'afficher blanche...

Discussions similaires

  1. regrouper deux champs d'une même table
    Par marcus crassus dans le forum Access
    Réponses: 1
    Dernier message: 10/09/2014, 13h58
  2. Réponses: 3
    Dernier message: 16/07/2013, 15h02
  3. [OpenOffice][Base de données] Générer une clé a partir de deux champs d'une même table
    Par fasfas dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 01/03/2010, 10h33
  4. Grouper deux champs d'une même table
    Par Bridou dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/04/2009, 10h18
  5. Jointure entre deux champs d'une même table
    Par oubli dans le forum Requêtes
    Réponses: 8
    Dernier message: 11/12/2007, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo