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 doublon avec ma jointure j1.field_name = j2.field_name


Sujet :

Requêtes MySQL

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 116
    Points : 2 078
    Points
    2 078
    Par défaut pb de doublon avec ma jointure j1.field_name = j2.field_name
    voila, j'ai quelques souci de doublons.

    Je vous explique ce que j'ai ces données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT table_name, field_name
    FROM liste_jointure
    WHERE profile = 'NC'
    table-106-client field-58-ID_CLIENT
    table-56-billing_test field-58-ID_CLIENT
    je fais donc cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT j1.table_name, j1.field_name, j2.table_name
    FROM liste_jointure j1, liste_jointure j2
    WHERE j1.field_name = j2.field_name
    AND j1.profile = 'NC'
    table-106-client field-58-ID_CLIENT table-106-client
    table-56-billing_test field-58-ID_CLIENT table-106-client
    table-106-client field-58-ID_CLIENT table-56-billing_test
    table-56-billing_test field-58-ID_CLIENT table-56-billing_test
    pour eviter les doublons, je rajoute une contrainte dans ma clause Where : j1.table_name != j2.table_name

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT j1.table_name, j1.field_name, j2.table_name
    FROM liste_jointure j1, liste_jointure j2
    WHERE j1.field_name = j2.field_name
    AND j1.table_name != j2.table_name
    AND j1.profile = 'NC'

    table-56-billing_test field-58-ID_CLIENT table-106-client
    table-106-client field-58-ID_CLIENT table-56-billing_test
    m'ai ce n'est pas encore ca. J'ai encore des doublons. Je ne sais pas du tout comment faire.

  2. #2
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 116
    Points : 2 078
    Points
    2 078
    Par défaut
    bon, j'ai trouvé l'astuce moi meme, il faut utiliser l'opérateur < ou > meme si on compare des chaines de caractères dans la clause Where.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT j1.table_name, j1.field_name, j2.table_name
    FROM liste_jointure j1, liste_jointure j2
    WHERE j1.field_name = j2.field_name
    AND j1.table_name < j2.table_name
    AND j1.profile =  'NC'

    j'ai trouvé ma réponse dans l'auto-jointure de la doc sur les jointures :
    http://sqlpro.developpez.com/cours/s...ointures/#L3.3

    si ca peut servire, je n'efface pas mon post.

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

Discussions similaires

  1. Recherche de doublons avec jointure
    Par boubil dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/12/2013, 12h25
  2. [MySQL] Doublon d'affichage php avec une jointure
    Par tryks dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/08/2010, 16h25
  3. Peut on utiliser OR avec des jointures de tables??
    Par gins06 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/10/2005, 13h40
  4. Réponses: 2
    Dernier message: 21/07/2005, 13h05
  5. requete avec 2 jointures
    Par bissy88 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/04/2004, 14h52

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