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 :

Problème sur requête avec jointure interne et jointure à gauche


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 52
    Points : 27
    Points
    27
    Par défaut Problème sur requête avec jointure interne et jointure à gauche
    Bonjour à tous,

    J'ai 3 tables : une qui liste des demandes liées à un objet, une qui liste des types de mesures liées à la demande, et une autre qui liste des caractéristiques spéciales sur les mesures, liées à un objet.

    Voici les tables :

    Nom : 1.PNG
Affichages : 182
Taille : 7,0 Ko (table des demandes liées à un objet (dmo_fk_obj_id))
    Nom : 2.PNG
Affichages : 139
Taille : 2,9 Ko (table des types de mesures liées à la demande (dlm_fk_type_id)
    Nom : 3.PNG
Affichages : 144
Taille : 4,3 Ko (tables des objets et des mesures liées à une caractéristique spéciale)

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select dlm_fk_demande_id, dlm_fk_type_id, dmo_fk_obj_id, obj_fk_carspe_id from demande_liste_type_mesure inner join demande_objet on demande_liste_type_mesure.dlm_fk_demande_id = demande_objet.dmo_pk_id left join objets_carspe on demande_liste_type_mesure.dlm_fk_type_id = objets_carspe.obj_fk_typemes_id where dmo_fk_obj_id = 154 order by dlm_fk_demande_id asc;
    Voici le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    +-------------------+----------------+---------------+------------------+
    | dlm_fk_demande_id | dlm_fk_type_id | dmo_fk_obj_id | obj_fk_carspe_id |
    +-------------------+----------------+---------------+------------------+
    |                 9 |              9 |           154 |             NULL |
    |                10 |              3 |           154 |                3 |
    |                10 |              3 |           154 |                1 |
    |                12 |              3 |           154 |                3 |
    |                12 |              3 |           154 |                1 |
    +-------------------+----------------+---------------+------------------+
    La première ligne c'est OK, l'objet 154 n'a pas de caractéristique spéciale liée à la mesure 9. La seconde ligne devrait être 1 pour la colonne obj_fk_carspe_id puisque la caractéristique spéciale liée à la mesure 3 et l'objet 154 est 1.

    Je suis un peu perdu ... J'en appelle à l'aide.

    Merci d'avance

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Dans ce cas il manque une jointure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select dlm_fk_demande_id, dlm_fk_type_id, dmo_fk_obj_id, obj_fk_carspe_id 
    from demande_liste_type_mesure inner join demande_objet 
    on demande_liste_type_mesure.dlm_fk_demande_id = demande_objet.dmo_pk_id 
    left join objets_carspe 
    on demande_liste_type_mesure.dlm_fk_type_id = objets_carspe.obj_fk_typemes_id 
    and dmo_fk_obj_id = objets_carspe.obj_fk_id 
    where dmo_fk_obj_id = 154 
    order by dlm_fk_demande_id asc;
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 52
    Points : 27
    Points
    27
    Par défaut
    Un grand merci pour ta réponse, ça fonctionne !

Discussions similaires

  1. Problème sur Requête avec NOT IN
    Par Sophie1206 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/06/2014, 21h14
  2. [MySQL] Tri sur requête avec jointure
    Par renaud26 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/02/2009, 09h40
  3. [MySQL] Jointure externe sur requête avec MySQL
    Par ginkas31 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/02/2008, 11h02
  4. problème de requète avec jointure
    Par poupsunik dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/05/2007, 00h28
  5. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33

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