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

MySQL Discussion :

Requete imbriquées, jointures ?


Sujet :

MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Requete imbriquées, jointures ?
    Bonjour à tout le monde.

    Je travaille sur un projet pour un ami et je bloque sur une requête mysql sur un tri de valeurs

    Voici les tables :
    Table : demande
    Champs : id_demande , dep_evenement

    Table : dj
    Champs : id _dj, dep_work

    Table : achat_demande
    Champs : id_demande, id_dj

    Ce qu'il faut savoir :
    la valeur id_dj est une variable de session disponible tout le long du projet appellée: $id_dj

    Je souhaite :
    Afficher tous les champs de la table "demande" si "dep_evenement" est contenu dans la table "dj" le champs recherché est "dep_work" et ignorer les "id_demande" contenues dans "achat_demande" en fonction de la valeur "id_dj".

    J'espère que c'est clair. J'ai passé un nombre incalculable d'heure pour essayer de résoudre cette requête qui, je le pense, n'est pas si difficile pour un habitué...

    Je vous remercie infiniment pour votre précieuse aide...

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Voici les tables :
    Table : demande
    Champs : id_demande , dep_evenement

    Table : dj
    Champs : id _dj, dep_work
    Afficher tous les champs de la table "demande" si "dep_evenement" est contenu dans la table "dj" le champs recherché est "dep_work" .
    dep_evenement et dep_work contiennent des données identiques ?

    N'y a t-il pas alors redondance d'informations dans la BDD ?

    Un exemple de données aiderait sans doute à mieux comprendre le besoin.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Bonjour Phil.

    Pour mieux comprendre, le champs "dep_work" comprends des valeurs numériques equivalentes à des numéros de départements : 31,32,11,81,82

    Et "dep_evenement" et un champs comprennant un numéro de département.

    En fait, si "dep_evenement" est présent dans "dep_work" alors je dois afficher les "id_demande".

    Pff, pas évident à expliquer comme ca !!!

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par djtheo Voir le message
    Pour mieux comprendre, le champs "dep_work" comprends des valeurs numériques equivalentes à des numéros de départements : 31,32,11,81,82
    Ça va si tu te limite au sud-ouest mais n'oublie pas que la Corse est divisée en 2A et 2B.
    D'ailleurs même dans le sud-ouest, il y a l'Ariège en '09' et non pas 9.
    => Un département n'est pas à stocker dans une colonne de type numérique mais alpha-numérique !

    En fait, si "dep_evenement" est présent dans "dep_work" alors je dois afficher les "id_demande".
    Expliqué comme ça, tu n'as même pas besoin de la table associative achat_demande !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT d.id_demande
    FROM demande AS d
    INNER JOIN dj ON dj.dep_work = d.dep_evenement
    Mais j'ai l'impression que ta demande originelle n'était pas tout à fait celle-là ?
    Afficher tous les champs de la table "demande" si "dep_evenement" est contenu dans la table "dj" le champs recherché est "dep_work" et ignorer les "id_demande" contenues dans "achat_demande" en fonction de la valeur "id_dj".
    J'ai du mal à comprendre la dernière partie :
    et ignorer les "id_demande" contenues dans "achat_demande" en fonction de la valeur "id_dj"
    Bis repetita :
    Citation Envoyé par CinePhil
    Un exemple de données aiderait sans doute à mieux comprendre le besoin.
    Les données peuvent être fictives bien sûr si tu dois préserver une certaine confidentialité.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. jointure ou requete imbriquée
    Par cdsoft dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/01/2009, 14h24
  2. Différence entre jointure et requetes imbriquées
    Par sliderman dans le forum Requêtes
    Réponses: 4
    Dernier message: 28/04/2008, 09h24
  3. Requete imbriquée ou join sur table de jointure
    Par elfenlieder dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/11/2007, 11h22
  4. Requetes imbriquées et jointures avec 3 tables
    Par The Wretched dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2005, 11h03
  5. Requetes imbriquées et jointures
    Par Emile Le Tueur* dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/03/2004, 23h12

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