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 SQL Discussion :

[MySQL]Problème de requete select


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Par défaut [MySQL]Problème de requete select
    Bonjour tout le monde,
    je débute en sql et j'ai une petite question.
    J'ai actuellement 3 tables:

    prof (prof_id, prof_nom);
    cc (cc_id, cc_nom);

    et une table de correspondance entre les 2 puisqu'il y a une relation n à m entre les 2 tables

    prof_cc (prof_code, cc_code);

    En gros, je récupère la valeur prof_id et je voudrais à partir de ça avoir la valeur cc_nom correspondante.

    Comment faire?

    Actuellement, j'utilise une requete qui marche mais qui n'est pas très jolie... y a t il mieux? certainement !!!

    SELECT c.cc_nom
    FROM prof p, prof_cc pc, cc c
    WHERE p.professions_id = 2
    AND pc.prof_code = p.professions_id
    AND pc.cc_code = c.cc_id;

    J'attends vos conseils avec plaisir

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Avec des jointures normalisées, ce serait mieux ... mais ça te donnera le même résultat.

    cf http://sql.developpez.com/sqlaz/jointures/
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Par défaut
    Citation Envoyé par Xo
    Avec des jointures normalisées, ce serait mieux ... mais ça te donnera le même résultat.

    cf http://sql.developpez.com/sqlaz/jointures/
    merci pour ta réponse rapide
    qu'entends tu par "jointures normalisées"?
    modifier ma requete select ou modifier la structure de mes tables?

    Edit: je viens de jeter un oeil, ca serait plutot quel type de jointure normalisée?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Par défaut
    Citation Envoyé par Yanika_bzh
    Pourquoi tu ne la trouves pas jolie ta requete ??
    pas très sexy non.... sauf si il y a pas d'autres solutions...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Par défaut
    SELECT cc.cc_nom
    FROM cc
    INNER JOIN prof_cc pc
    ON cc.cc_id = pc.cc_code
    INNER JOIN prof p
    ON p.prof_id = pc.prof_code
    WHERE p.prof_id = '2';

    Ca me donne ca, quelle est la vraie différence entre mes 2 requetes? (celle avec plein de AND et celle avec les INNER JOIN)

    Merci

  6. #6
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    (selon le SGBD ? ) une optimisation de la requête :

    cf http://sql.developpez.com/optimiser/#L9, point 6
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/04/2011, 21h27
  2. Problème de requete select personnalisée
    Par demando77 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 08/06/2008, 21h00
  3. Problème de requete SELECT avec NULL
    Par Tchupacabra dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/03/2008, 12h25
  4. [MySQL] Problème de requete
    Par isa21493 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 27/02/2006, 09h38
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 13h08

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