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 :

Pas d'idée de nom


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut Pas d'idée de nom
    Bonjour,

    Je dispose de cette table:

    Employes

    ID-|-Nom-|-Chef-|-Direction-|-Departement
    -------------------------------------------
    1 -|- AA -|-- 1 - |----1-----|-----1
    2 -|- BB -|-- 0 - |----1-----|-----1
    3 -|- CC -|-- 0 - |----2-----|-----1

    4 -|- DD -|-- 1 - |----2-----|-----2
    5 -|- EE -|-- 0 - |----3-----|-----2

    6 -|- FF -|-- 1 - |----1-----|-----3
    2 -|- BB -|-- 0 - |----1-----|-----3

    A coté de cela, j'ai une autre table:

    Departements

    ID-| Intitule
    ------------
    1--|---X
    2--|---Y
    3--|---Z


    Mon but est d'obtenir le(s) départements selon les critères suivant:
    - Un employe (son nom)
    - Une direction
    Mais je dois afficher le chef (Chef = 1) des employés qui ont le même département ainsi que l'intitulé du département correspondant.


    Exemples:

    - La recherche de l'employé CC donne l'employé 1 et le département X.

    - La recherche de la direction 2 donne l'employé 1 et 4 et les départements X et Y.

    - La recherche de l'employé BB donne l'employé 1, 6 et les départements X et Z.


    Faut-il jouer avec des EXIST ou autres ? Quels sont les méthodes les plus perfomantes ?

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    Qu'avez-vous commencé comme requête ?
    Où bloquez-vous ?

    Puisque vous avez semble t-il quelques pistes, testez-les et regardez ce qu'il se passe.

    Si c'est un exercice d'étudiant, ce n'est pas à nous de le faire à votre place !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Hèhè.
    Et non, ce n'est pas un exercice d'étudiant. C'est une demande d'un client. Et je n'ai pas le temps de me creuser la tête (surtout que je ne m'y connais pas niveau performance). Et donc avant de tester, je voulais avoir, justement, des pistes afin de ne pas perdre trop de temps, car... cette requête n'est qu'une partie miniscule du projet.

    Je comptais rechercher deux fois dans la table employés afin tout d'abord de trouver la personne, et ensuite son chef. Un truc du genre, donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT E2.Chef
    FROM Employes E1, Employes E2
    WHERE E1.Nom = "BB"
    AND E2.Chef = 1
    AND E1.Departement = E2.Departement
    Ouep, j'utilise pas les INNER JOIN, pas l'habitude, vous pouvez me répondre avec des INNER JOIN, je les comprendrai mais je devrai de toute façon les retranscrire (pas moi qui décide).

Discussions similaires

  1. Pas d'idées pour ce problème | Excel |
    Par madnux dans le forum C++Builder
    Réponses: 10
    Dernier message: 30/03/2007, 18h40
  2. Pas d'IDE spécialisé dans la 3D ? Pourquoi ?
    Par Liiscar dans le forum Développement 2D, 3D et Jeux
    Réponses: 10
    Dernier message: 03/07/2006, 15h50
  3. Réponses: 1
    Dernier message: 14/02/2006, 14h43
  4. Pas de resolution de nom sur Mandrake 2005 LE...
    Par dctitus dans le forum Développement
    Réponses: 2
    Dernier message: 30/01/2006, 23h09
  5. Pas de résolution de nom
    Par Michaël dans le forum Réseau
    Réponses: 2
    Dernier message: 28/11/2005, 21h24

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