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

Langage PHP Discussion :

Joindre plusieurs table mysql


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut Joindre plusieurs table mysql
    Bonjour à tous,

    Je souhaite joindre plusieurs tables ensemble mais je ne trouve pas comment faire.

    Je veux lier plusieurs sous catégories de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    " LEFT JOIN EVENEMENT_SOUS_TYPE ON SOIREE_SOUS_TYPE=EVENEMENT_SOUS_TYPE_ID".
    " LEFT JOIN EVENEMENT_SOUS_TYPE ON SOIREE_SOUS_TYPE_2=EVENEMENT_SOUS_TYPE_ID".
    " LEFT JOIN EVENEMENT_SOUS_TYPE ON SOIREE_SOUS_TYPE_3=EVENEMENT_SOUS_TYPE_ID".
    mais à priori je ne peux pas le faire de cette manière.

    Puis-je avoir un peu d'aide ?

    Merci par avance,

    Aurélien

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Bonjour,

    peut être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    " LEFT JOIN EVENEMENT_SOUS_TYPE E1 ON E1.SOIREE_SOUS_TYPE=EVENEMENT_SOUS_TYPE_ID".
    " LEFT JOIN EVENEMENT_SOUS_TYPE E2 ON E2.SOIREE_SOUS_TYPE_2=EVENEMENT_SOUS_TYPE_ID".
    " LEFT JOIN EVENEMENT_SOUS_TYPE E3 ON E3.SOIREE_SOUS_TYPE_3=EVENEMENT_SOUS_TYPE_ID".

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Merci pour ta réponse.

    Ca m'affiche un message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Column 'EVENEMENT_SOUS_TYPE_LABEL' in field list is ambiguous
    Dans ma table EVENEMENT_SOUS_TYPE, faut-il que je crée EVENEMENT_SOUS_TYPE_ID_2 et EVENEMENT_SOUS_TYPE_ID_3 ? Ca pourrait probablement résoudre mon probleme mais ca me semble lourd

    Merci par avance,

    Aurélien

  4. #4
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    peux tu poster la requete complete ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Août 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business

    Informations forums :
    Inscription : Août 2010
    Messages : 216
    Par défaut
    Voici la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sqlQuery =
    			" SELECT SOIREE_FRANCE_BILLET, SOIREE_FRANCE_BILLET_URL, SOIREE_VUE, EVENEMENT_SOUS_TYPE_LABEL, EVENEMENT_SOUS_TYPE_URL, ETABLISSEMENT_ID, ETABLISSEMENT_TYPE_URL, ETABLISSEMENT_URL_NAME, EVENEMENT_TYPE_URL, EVENEMENT_TYPE_LABEL, SOIREE_TITLE, SOIREE_IMAGE, SOIREE_DESCRIPTION, SOIREE_PRIX, SOIREE_HEURE, SOIREE_TYPE, SOIREE_LIEU, SOIREE_LIEU_ID , SOIREE_DATE, SOIREE_DATE_FIN, SOIREE_URL_TITLE , SOIREE_ID " .
    			" FROM SOIREE ".
    			"		INNER JOIN EVENEMENT_TYPE ON EVENEMENT_TYPE.EVENEMENT_TYPE_ID = SOIREE_TYPE ".
    			" LEFT JOIN ETABLISSEMENT ON SOIREE_LIEU_ID=ETABLISSEMENT_ID".
    			" LEFT JOIN EVENEMENT_SOUS_TYPE ON SOIREE_SOUS_TYPE=EVENEMENT_SOUS_TYPE_ID".
    			" LEFT JOIN ETABLISSEMENT_TYPE ON ETABLISSEMENT_TYPE_ID=ETABLISSEMENT_TYPEID".
    			" WHERE SOIREE_ID = '$IdAgenda'";
    Merci pour ton aide,

    Aurélien

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Column 'EVENEMENT_SOUS_TYPE_LABEL' in field list is ambiguous
    car ton champs EVENEMENT_SOUS_TYPE_LABEL existe dans au moins deux tables distinctes. Pour éviter cela, il faut que tu mettes des alias a tes tables et que tu références tes champs avec.

    SELECT....FROM SOIREE as S

    puis que tu mettes

    S.champs1, S.champs2 etc pour tout tes champs correspondant à ta table SOIREE. Met des alias uniques pour toutes tes tables

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/03/2013, 22h23
  2. Fractionner un excel dans plusieurs tables Mysql
    Par solky dans le forum Développement de jobs
    Réponses: 16
    Dernier message: 03/10/2012, 12h14
  3. Réponses: 2
    Dernier message: 21/09/2009, 17h26
  4. conception Objet avec plusieurs table MYSQL
    Par Polymorph dans le forum Langage
    Réponses: 7
    Dernier message: 06/02/2009, 09h28
  5. Joindre plusieurs tables pour en former qu'une seule.
    Par timeout dans le forum Requêtes
    Réponses: 7
    Dernier message: 19/09/2005, 09h18

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