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 :

[SQL Server 2000] Syntaxe incorrecte "CASE"


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut [SQL Server 2000] Syntaxe incorrecte "CASE"
    Bonjour,

    Je ne vois pas trop ou est mon erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CASE T_CLIENT.CLIE_CD_CIVIL 
            WHEN CLIE_CD_CIVIL = '1' THEN Monsieur
            WHEN CLIE_CD_CIVIL = '2' THEN Madame
            WHEN CLIE_CD_CIVIL = '3' THEN Mademoiselle
    END AS [Civilité],
    Quand je lance la requête, cela me dis que la synthaxe est incorrect près du '='. J'ai essayé sans les simples quote, avec les simples et les doubles... Rien de plus
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    C'est soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CASE T_CLIENT.CLIE_CD_CIVIL
            WHEN '1' THEN Monsieur
            WHEN '2' THEN Madame
            WHEN '3' THEN Mademoiselle
    END AS [Civilité],
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CASE 
            WHEN T_CLIENT.CLIE_CD_CIVIL = '1' THEN Monsieur
            WHEN T_CLIENT.CLIE_CD_CIVIL = '2' THEN Madame
            WHEN T_CLIENT.CLIE_CD_CIVIL = '3' THEN Mademoiselle
    END AS [Civilité],
    (pour la syntaxe normalisée..., mais SQL Server la respecte sur ce point je crois)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour al1_24,

    Merci cela fonctionne avec ton premier exemple

    Par contre j'ai essayé (Si je peux t'embêter 30 Scd) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT
              'T_CLIENT.CLIE_NOM' || 'T.CLIENT.CLIE_PRENOM' AS [Nom Complet]

    De même cela ne fonctionne pas... J'ai aussi essayé en enlevant le nom de la table !!!
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Citation Envoyé par Chtulus Voir le message
    cela ne fonctionne pas...
    Un peu court pour comprendre ce que tu veux faire et supposer l'erreur qui t'est renvoyée.

    Dans l'absolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'T_CLIENT.CLIE_NOM' || 'T.CLIENT.CLIE_PRENOM'
    te retournera la chaine suivante, pour chaque ligne de la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'T_CLIENT.CLIE_NOMT.CLIENT.CLIE_PRENOM'
    Est-ce bien ce que tu souhaites ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Je vois ce que tu veux dire. J'ai ajouté le Blank.

    Voilà en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT
             CASE T_CLIENT.CLIE_CD_CIVIL
                  WHEN '1' THEN Monsieur
                  WHEN '2' THEN Madame
                  WHEN '3' THEN Mademoiselle
             END AS [Civilité],
             'T_CLIENT.CLIE_NOM' || ' ' || 'T.CLIENT.CLIE_PRENOM' As [Nom Complet],
       ...
     
    WHERE 
             'T_CLIENT.CLIE_NOM' || ' ' || 'T.CLIENT.CLIE_PRENOM' = ('DUPONT Charles')
    ...
    Et le résultat devrait donner quelque chose comme :
    Monsieur DUPONT Charles
    Et bien sur cela ne me renvoi aucune ligne...
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  6. #6
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Commencez par enlever les quotes entre le nom de vos colonnes de table

    Bon Courage

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

Discussions similaires

  1. [SQL Server 2000]Update avec case
    Par nox75 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/10/2007, 20h18
  2. Réponses: 4
    Dernier message: 22/09/2006, 14h24
  3. [SQL server 2000] Problème de jointure avec 'Case'
    Par Tankian dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2006, 17h42

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