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 Requète Select


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 10
    Points
    10
    Par défaut aide sur Requète Select
    Bonjour,
    je vais droit au but, j'ai une table expert et une table autoEvaluation, dont les définitions sont les suivantes:
    expert(idExpert, nom, prenom ...)
    autoEvaluation(idexp#, libelle,type, niveau)
    les tables sont crées avec sql server 2005.(si ça peut aider!!)
    sachant que le libelle peut avoir la valeur "policy issues" ou "legal issues" ou "institutional issues"....et que chaque libelle possède un niveau allant de "a" à "e".
    je veux créer une requete qui me renvoit le nom, le prenom et l'id de l'expert pour des niveaux précisés par l'utilisateur pour chaque libellé.
    c'est à dire, si l'utilisateur précise un "a" pour "policy issues" et un "b" pour "institutional issues", je ne dois lui afficher qu'un expert qui a un "a" pour "policy issues" et un "b" pour "institutional issues" .
    mon problème c'est d'assigner le niveau au libellé dans la requète.
    la requête que j'ai écrit, fait la combinaison des niveaux et des critères : a pour policy issues
    b pour policy issues
    a pour institutional issues
    b pour institutional issues.
    voilà la requète :

    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
    SELECT
        DISTINCT EXPERT.NOM, 
        EXPERT.PRENOM, 
        EXPERT.DATEDENAISSANCE, 
        EXPERT.PROFESSION, 
        EXPERT.POSITIONPROPOSEE, 
        EXPERT.IDEXPERT
    FROM
        EXPERT INNER
    JOIN
        AUTOEVALUATION ON
            AUTOEVALUATION.IDEXPERT = EXPERT.IDEXPERT
    WHERE
        (AUTOEVALUATION.LIBELLE = 'policy issues') AND 
        (AUTOEVALUATION.NIVEAU = @cr1) OR
        (AUTOEVALUATION.LIBELLE = 'institutional issues') AND 
        (AUTOEVALUATION.NIVEAU = @cr2)
    j'ai changé un "AND" au lieu de "OR" mais le pb persiste.
    qqn pourrait me proposé le changement dans la requète ou une nouvelle idée et j'n serais reconnaissante.
    je vous remercie, svp c'est urgent.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 75
    Points
    75
    Par défaut recherche avec paramètre
    salut,

    Que se passe t'il quand tu lances cette requète ?

    Pourquoi tu dis avoir une problème ?

    Il me semble que cette requète n'est pas si fausse que çà...

    Fred

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 888
    Points : 53 122
    Points
    53 122
    Billets dans le blog
    6
    Par défaut
    Vous avez deux informations qui sont située sur deux lignes différentes il faut donc dédoubler votre demande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT  DISTINCT E.NOM, E.PRENOM, 
            E.DATEDENAISSANCE, E.PROFESSION, 
            E.POSITIONPROPOSEE, E.IDEXPERT 
     
    FROM    EXPERT E
            INNER JOIN AUTOEVALUATION A1
                  ON  A1.IDEXPERT = E.IDEXPERT 
            INNER JOIN AUTOEVALUATION A2
                  ON  A2.IDEXPERT = E.IDEXPERT 
     
    WHERE  A1.LIBELLE = 'policy issues'
      AND  A1.NIVEAU = @cr1
      AND  A2.LIBELLE = 'institutional issues'
      AND  A2.NIVEAU = @cr2
    A +

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

Discussions similaires

  1. [WD14] Aide sur Requête Select
    Par no_me_entero dans le forum WinDev
    Réponses: 7
    Dernier message: 19/04/2011, 10h19
  2. Aide sur requêtes
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 08/02/2006, 16h05
  3. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53
  4. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33
  5. Besoin d'aide sur requête croisée
    Par keawee dans le forum Access
    Réponses: 7
    Dernier message: 18/11/2004, 09h46

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