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 :

Problème de syntaxe


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de syntaxe
    Bonjour,

    Dans le cadre d'un projet je doit réaliser une requête qui affiche un numéro d'affaire ainsi que les employés qui travail dessus en fonction de leur spécialité.

    J'ai les tables suivantes :
    T_affaire(no_affaire,...)
    T_employe(id_employe,nom_employe,...)
    T_fonction(id_fonction,libelle_fonction)
    TL_posseder(#id_fonction,#id_employe)
    TL_travailler(#id_employe,#id_fonction,#no_affaire)

    Le résultat que je désierais obtenir est de la forme :

    N° affaire | fonction 1 | fonction 2 | fonction 3
    -------------------------------------------------------
    1 | Mr X | Mr Y | Mr X
    2 | Mr X | Mr Y | Mr Z

    Le soucis c'est que je ne vois pas comment obtenir ce résultat ou si c'est possible tout simplement.

    Car en partant avec "SELECT no_affaire, nom_employe, nom_employe, nom_employe" je ne vois pas comment donner les conditions de sélection.

    J'espère que vous pourrez m'aider parce que la je suis complètement perdu

    Guillaume

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    tu pourrais tout à fait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT A.no_affaire, T.id_fonction, E.nom_employe
    FROM T_affaire A
       INNER JOIN TL_travailler T
          ON A.no_affaire = T.no_affaire
          INNER JOIN T_employe E
              ON E.id_employe = T.id_employe
    ORDER BY A.no_affaire, T.id_fonction
    ensuite tu te sers d'un langage externe pour faire la présentation que tu veux...

    sinon, la requête deviens beaucoup plus complexe, parce que SQL n'est pas fait pour faire de la présentation, mais de la récupération de données... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    SELECT A.no_affaire,
       E1.nom_employe AS fonction1, E2.nom_employe AS fonction2, E3.nom_employe AS fonction3, ...
    FROM T_affaire A
     
       INNER JOIN TL_travailler T1
          ON A.no_affaire = T1.no_affaire
          LEFT JOIN T_employe E1
             ON E1.id_employe = T1.id_employe AND T1.id_fonction = 1
     
       INNER JOIN TL_travailler T2
          ON A.no_affaire = T2.no_affaire
          LEFT JOIN T_employe E2
             ON E2.id_employe = T2.id_employe AND T2.id_fonction = 2
     
       INNER JOIN TL_travailler T3
          ON A.no_affaire = T3.no_affaire
          LEFT JOIN T_employe E3
             ON E3.id_employe = T3.id_employe AND T3.id_fonction = 3
     
    [... etc ...]
    ORDER BY A.no_affaire
    horrible non ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci,

    Je me sent mieux la première méthode

    En fait je voulais intégrer directement le résultat de la requête dans un DataGrid, mais je pense pas que ce soit possible si j'ai bien compris ce que tu dis.

    Guillaume

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Si, c'est possible... avec la seconde requête

    en fait, MySQL n'est pas fait pour faire de la présentation, il te faut retraiter la requête...

    avec celle que je t'ai donné (la 1) ça devrait être assez facile puisque tout est trié

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

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 12h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 18h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 11h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 15h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 16h10

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