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 JOIN avec clé multiple [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut Jointure JOIN avec clé multiple
    Bonjour,
    Le titre est explicite je crois, je ne trouve pas d'info:
    C'est pour un site en trois langue
    Soit les tables:

    projet (données non linguistiques, images, liens, etc...)
    ||nom(clé)||image||etc...
    projet1
    projet2
    ...

    projet_langue (données linguistiques: textes etc...
    ||nom(clé)||langue(clé)||texte||etc...
    projet1 fr
    projet1 al
    projet1 en
    projet2 fr
    projet2 al
    projet2 en

    Comment faire un SELECT qui me sorte pour l'exemple le projet1 en allemand?
    J'ai essayé plein de requêtes avec JOIN, voir WHERE... mais je n'ai jamais la bonne formule...
    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM projet JOIN projet_langue USING(nom) WHERE nom = 'projet1' AND langue = 'al'

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    merci mais ça ne fonctionne pas...
    Je n'ai pas de message d'erreur php ou mysql, mais pas de retour mysql_fetch_assoc()...
    Je continue les recherches...

  4. #4
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Pas d'erreur mysql ? Interressant, d'autant plus que dans la clause WHERE : nom est ambigue et langue n'a pas explicitement de table (a moins que mysql ne sot devenu tres intelligent a ce niveau).

    Toutefois, je vous propose de verifier qu'il y a bien des donnees pour l'allemand et d'essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM projet AS p LEFT JOIN projet_langue AS pl USING(nom) WHERE p.nom = 'projet1' AND pl.langue = 'al'
    (Je sais que LEFT est inutile mais c'est pour insister sur la differrence avec INNER, aussi que AS n'est pas necessaire non plus)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    Toujours rien...

    d'autant plus que dans la clause WHERE : nom est ambigue
    Oui, dans certains de mes essais, mysql m'a dit ça...
    Mais là encore, pas d'erreur, mais pas de retour...

  6. #6
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Toujours rien ?
    Ca vient probablement d'autre chose que la requete.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    En fait si, c'est ok...
    Une petite erreur ailleurs... désolé...
    Mais il me reste à comprendre bien le code... la différence entre jointure interne et externe n'est pas encore très claire pour moi...
    Merci de votre aide

    à is_null: merci pour le lien...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jointure LEFT JOIN avec Double COUNT
    Par Mike91 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/03/2015, 13h37
  2. Réponses: 1
    Dernier message: 22/07/2013, 09h11
  3. Petit souci avec les jointures (join on / join using)
    Par Ben-o dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/02/2013, 19h25
  4. [AC-2007] Recherche équivalent Left Join avec jointure =
    Par neupont dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 24/10/2012, 19h58
  5. [Linq 4] Group Join avec multiples join
    Par CUCARACHA dans le forum Linq
    Réponses: 0
    Dernier message: 05/05/2011, 16h07

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