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 :

Aide pour requête SQL


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Aide pour requête SQL
    Hello à tous, dans le cadre de l'amélioration de la gestion d'employés,
    j'ai décidé d'utilise les bases de données SQL couplées avec PHP.

    Mon problème est le suivant, j'ai 3 tables dans ma base
    - employes (id, nom, prenom, mail)
    - secteurs (id, nom_secteur)
    - employes_secteurs (id_employes, id_secteurs)

    j'ai effectué les liaisons entre employes_secteurs et employes, et, employes_secteurs et secteurs.

    L'intérêt pour moi est de récupérer par rapport à l'id d'un employé, les différents secteurs d'activités sur lesquels il travaille. Jusqu'ici aucun problème, je cherche par le biais de l'interface web a créer un formulaire avec des checkboxes pour chacun des secteurs.

    J'ai réussi grâce a la requete suivante, a savoir quel(s) employé(s) travaille(nt) dans un secteur précis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT `nom` , `prenom` , `mail`
    FROM `employes_secteurs` es, `secteurs` s, `employes` e
    WHERE `nom_secteur` = 'environnement'
    AND `es`.`id_secteurs` = `s`.`id`
    AND `es`.`id_employes` = `e`.`id`
    LIMIT 0 , 30
    Cette requête m'affiche correctement la liste des employés qui travaillent dans le secteur environnement, cependant, je ne trouve pas comment faire pour sélectionner la liste des employés qui travailleraient par exemple dans le secteur de l'environnement ET de l'économie.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Dans le where :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE nom_secteur IN('environnement', 'economie')

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    je viens d'essayer avec ta proposition, cependant, lorsque je l'execute,
    la réponse qui m'est donnée est la somme de tous ceux qui travaille dans l'environnement, et tous ceux qui travaillent dans l'économie, et non pas ceux qui travaillent a la fois dans l'environnement et dans l'économie. Il m'affiche également ceux qui travaillent que dans un seul des deux secteurs.

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    OK, je n'avais pas tilté sur le ET !

    Désolé.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    pas bien grave , personne aurait une idée ?

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    quelque chose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT `nom` , `prenom` , `mail`
    FROM `employes_secteurs` es
    JOIN `secteurs` s ON `es`.`id_secteurs` = `s`.`id`
    JOIN `employes` e ON `es`.`id_employes` = `e`.`id`
    WHERE `nom_secteur` IN ('environnement','economie')
    group by `nom` , `prenom` , `mail`
    having count(*)=2

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    nickel, ça fonctionne! merci beaucoup

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

Discussions similaires

  1. [SQL] Demande d'aide pour requète SQL
    Par vinco888 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/01/2009, 20h04
  2. Aide pour requête SQL
    Par eatherquake dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/12/2008, 14h44
  3. Aide pour requête SQL assez simple
    Par Pilloutou dans le forum Langage SQL
    Réponses: 15
    Dernier message: 28/03/2008, 15h07
  4. Besoin d'aide pour requête SQL
    Par dinver78 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/05/2007, 18h20
  5. Besoin d'aide pour requête SQL
    Par vallica dans le forum Requêtes
    Réponses: 10
    Dernier message: 08/06/2006, 23h16

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