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

Développement SQL Server Discussion :

CASE WHEN LIKE multiple


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 4
    Par défaut CASE WHEN LIKE multiple
    Bonjour à toutes et tous,

    je souhaite réaliser une requête SQL sur MS SQL 2012 qui du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CASE  WHEN EE_INTITULE LIKE '%ESPECE%' THEN 'ESPECES' ELSE WHEN EE_INTITULE LIKE '%CHEQUE%' THEN 'CHQ'END
    FROM F_EEXTRAIT
    mais visiblement je ne peux pas utiliser la fonction LIKE avec un CASE WHEN de manière multiple.

    je serai visiblement obligé de réalisé la requête suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CASE  WHEN EE_INTITULE  LIKE '%ESPECE%' THEN 'ESPECES' END,  CASE WHEN EE_INTITULE LIKE '%CHEQUE%' THEN 'CHQ'END
    FROM F_EEXTRAIT
    Le résultat est renvoyé dans deux colonnes distinctes or ce que je cherche à obtenir c'est une seule colonne avec des valeurs multiples.

    Pourriez vous m'aider svp?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Concatenez les différents CASE avec la fonction CONCAT.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2020
    Messages : 4
    Par défaut
    Super merci pour votre aide

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 175
    Par défaut
    Bonjour,

    Il faut simplement utiliser plusieurs clause WHEN :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT CASE  WHEN EE_INTITULE LIKE '%ESPECE%' THEN 'ESPECES' 
                        WHEN EE_INTITULE LIKE '%CHEQUE%' THEN 'CHQ'
                        WHEN EE_INTITULE LIKE '%autre_valeur%' THEN 'AUTRE_VALEUR'
                        ...
    END
    FROM F_EEXTRAIT;

Discussions similaires

  1. Sous requete Case when multiple lignes erreur
    Par naouf3l dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/03/2016, 17h18
  2. case when multiple
    Par djecko dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/02/2016, 10h40
  3. case when multiple
    Par samgratt dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/11/2009, 15h33
  4. Structure CASE WHEN en Interbase
    Par tchaman dans le forum InterBase
    Réponses: 8
    Dernier message: 13/12/2004, 16h18
  5. [SQL] performances Decode ou Case when ?
    Par Yorglaa dans le forum Oracle
    Réponses: 8
    Dernier message: 01/10/2004, 15h50

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