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 sur Une Requête


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 279
    Points : 80
    Points
    80
    Par défaut Aide sur Une Requête
    Salut
    j'ai un petit probleme.
    j'ai 3 tables (HISTO_DIVISION,HISTO_SERVICE,HISTO_UNITE) qui contiennent l'historique des affectations des employes dans les divisions, les services et les unites.
    Les trois tables ont la meme structure :
    - matricule
    - Code (de la division ou du service ou de l'unite)
    - dateeffet (date a partir de laquelle l employe est affecte).

    Une division peut contenir 0 ou plusieurs services et 0 ou plusieurs unites.
    Un service peut contenir 0 ou plusieurs unites..
    J'ai fait une vue qui affiche la division,le service et l'unite de l' employe "X" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT code
    from HISTO_DIVISION
    where matricule=X
    and dateeffet=(select max(dateeffet) from HISTO_DIVISION where matricule=X)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT code
    from HISTO_SERVICE
    where matricule=X
    and dateeffet=(select max(dateeffet) from HISTO_SERVICE where matricule=X)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT code
    from HISTO_UNITE
    where matricule=X
    and dateeffet=(select max(dateeffet) from HISTO_UNITE where matricule=X)
    Le probleme que cette vue retourne Le Derniere Division,le dernier service et la derniere unite,malgre qu'il se peut que cette unite n'appartient pas a ce service ou a cette division.ou le dernier service n'appartient pas a cette division.

  2. #2
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    Tu dois refaire tes tables en y intégrant des clés primaires pour toutes et des clés étrangères pour les tables filles, aprés tu pourras faire les jointures que tu veut.
    Jette un coup d'oeil sur ça : SQL

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 279
    Points : 80
    Points
    80
    Par défaut
    salut
    j ai pour chaque table une cle primaire qui est sequentiel(num_ligne)
    et j ai des tables filles qui sont :
    Service,Division,Unite
    et qui ont une jointure entre elles.
    Mais aider moi a faire la requete.

Discussions similaires

  1. [SQL] Besoin d'aide sur une requête
    Par Angath dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h26
  2. Réponses: 1
    Dernier message: 03/08/2005, 11h41
  3. Besoin d'aide sur une requête (JOIN + COUNT ?)
    Par PanzerKunst dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2005, 10h29
  4. Aide sur une requête
    Par TshAw dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/02/2005, 11h42
  5. Aide sur une requête (Group By...??)
    Par Cocolapin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2004, 10h26

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