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

Requêtes MySQL Discussion :

Pb de requête LEFT JOIN


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut Pb de requête LEFT JOIN
    Bonjour,

    je cherche a effectuer un requete sur laquelle je bute un peu.
    en effet,

    J'ai deux tables:
    - Une table annonce
    - Une table des traduction des textes.

    annonce:
    id
    nom_agence

    traduction:
    id
    id_annonce
    texte
    lang_trad


    La table des traductions possède une ligne par langue
    Certaines annonces peuvent avoir une, deux ou trois lignes de traduction ou bien aucune.

    Le but du jeu est donc, de récupérer l'ensemble des annonces pour une langue de traduction.
    Si il n'existe pas de traduction dans la langue choisie, je veux quand même récupérer l'annonce.
    Conclusion, je dois avoir le même nombre d'annonce quelque soit la langue choisie

    Une petite idée ?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 302
    Points : 316
    Points
    316
    Par défaut
    Est-ce que la réponse à ta question et dans ta question ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut Ben non !!
    Non, j'ai la question mais j'ai pas la requête.

    Si je fais par exemple un LEFT JOIN sur les deux tables avec comme condition "lang_trad ='FR'" je n'ai pas le même nombre d'annonce qu'avec "lang_trad ='EN'"

    Idem avec un "Having"

  4. #4
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 302
    Points : 316
    Points
    316
    Par défaut
    Pourquoi ajouter une condition ?
    fais simplement un where non null plutôt qu'un where spécifique.

    EDIT :

    Ah je viens comprendre la difficulté excuses moi ! je cherche...

  5. #5
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 039
    Points : 23 787
    Points
    23 787
    Par défaut
    Bonjour,

    Il faut mettre la condition sur la langue dans la condition de jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.id AS annonce, t.id AS traduction, t.lang_trad as langue
    FROM annonce a
    LEFT JOIN traduction t on a.id = t.id_annonce AND t.lang_trad = 'FR'
    ORDER BY a.id
    Comme ça, on récupère toutes les annonces en français, et quand il n'y a pas de traduction, on récupère NULL dans traduction et langue...

    ced

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 59
    Points : 71
    Points
    71
    Par défaut [Résolu] merci
    Je suis une grosse patate, !!!
    J'avais pourtant essayé.


    Effectivement ca marche très bien, et les temps de réponse reste très satisfaisant.

    Encore merci le Modo

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

Discussions similaires

  1. Requête LEFT JOIN ON si condition
    Par gnain dans le forum Développement
    Réponses: 5
    Dernier message: 30/01/2015, 12h34
  2. Requête left join
    Par sheira dans le forum Requêtes
    Réponses: 8
    Dernier message: 21/06/2011, 13h21
  3. Problème requête LEFT JOIN
    Par absot dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/05/2011, 00h20
  4. [WD14] Requête LEFT join
    Par devdev dans le forum WinDev
    Réponses: 4
    Dernier message: 16/02/2010, 11h29
  5. [Access2003]-Perte de données requête left join
    Par alcabk dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/10/2007, 11h45

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