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

MS SQL Server Discussion :

Syntaxe de l'expression EXISTS


Sujet :

MS SQL Server

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Syntaxe de l'expression EXISTS
    Bonjour, dans un cours j'ai trouvé l'expression suivante:

    SELECT nom, EXISTS ( SELECT * FROM Stage S
    WHERE S.NumEtudiant = E.NumEtudiant )
    FROM Etudiant E

    /* affiche la liste des étudiants avec une colonne supplémentaire indiquant si l'étudiant a déjà effectué un stage*/

    Il m'est paru impossible d'executer une requête de ce genre.
    SQL Server dit qu'il y a une erreur au niveau de EXISTS.
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Il n'y a pas vraiment de type de données booléen en T-SQL, tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT nom, CASE WHEN EXISTS ( SELECT * FROM Stage S
    WHERE S.NumEtudiant = E.NumEtudiant ) THEN 1 ELSE 0 END
    FROM Etudiant E
    --
    Rudi Bruchez

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut résolu
    Merci rudy, ta solution convient parfaitement à mes attentes. You rules!!!

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 896
    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 896
    Points : 53 126
    Points
    53 126
    Billets dans le blog
    6
    Par défaut
    Voici deux requêtes plus perfromantes et astucieuses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT nom, COALESCE(S.?, 0) AS Stages
    FROM   Etudiant E
           LEFT OUTER JOIN Stage S
                ON E.NumEtudiant = S.NumEtudiant
    Remplacez ? par une colonne donnant 1 ou une autre indaction quelconque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT nom, COALESCE(COUNT(S.?), 0) AS Stages
    FROM   Etudiant E
           LEFT OUTER JOIN Stage S
                ON E.NumEtudiant = S.NumEtudiant
    GROUP BY nom
    Remplacez ? par la clef de S

    A +

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/10/2011, 15h58
  2. Syntax error, unrecognized expression: >
    Par gianni7033 dans le forum jQuery
    Réponses: 1
    Dernier message: 11/01/2011, 11h12
  3. [XL-2003] Syntaxe :SI telle feuille existe ?
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/04/2010, 16h30
  4. Pb de Syntaxe avec l'expression Dcount
    Par VBBBA dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2006, 16h37
  5. [calcul] pb avec la syntaxe d'une expression calulée
    Par gloogloo dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 29/06/2005, 17h14

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