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

SQL Oracle Discussion :

Aliaser un Case


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Par défaut Requete SQL ; aliaser un Case
    Bonjour à vous tous,
    j'ai une petite question qui reste sans réponse, je souhaiterais aliaser un case dans ma requête sql (je suis sous pl sql).
    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT cur.bud_id,
           --budget annee n (titre_lib_budgetn)
           case when TO_CHAR (cur.bud_dadeb, 'YYYY') = TO_CHAR (cur.bud_dafin, 'YYYY') then
                TO_CHAR (cur.bud_dadeb, 'YYYY')
           else
               TO_CHAR (cur.bud_dadeb, 'YYYY')||'/'||TO_CHAR (ADD_MONTHS (cur.bud_dadeb, 12), 'YYYY')
           end case,       
      FROM bud_budget cur
     WHERE cur.bud_id = 3660;
    Est ce que quelqu'un à une idée
    Merci

  2. #2
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Par défaut Aliaser un Case
    Bonjour à vous tous,
    j'ai une petite question qui reste sans réponse, je souhaiterais aliaser un case dans ma requête sql (je suis sous pl sql).
    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT cur.bud_id,
           --budget annee n (titre_lib_budgetn)
           case when TO_CHAR (cur.bud_dadeb, 'YYYY') = TO_CHAR (cur.bud_dafin, 'YYYY') then
                TO_CHAR (cur.bud_dadeb, 'YYYY')
           else
               TO_CHAR (cur.bud_dadeb, 'YYYY')||'/'||TO_CHAR (ADD_MONTHS (cur.bud_dadeb, 12), 'YYYY')
           end case,       
      FROM bud_budget cur
     WHERE cur.bud_id = 3660;
    Est ce que quelqu'un à une idée
    Merci

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par filip56 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT cur.bud_id,
           --budget annee n (titre_lib_budgetn)
           case when TO_CHAR (cur.bud_dadeb, 'YYYY') = TO_CHAR (cur.bud_dafin, 'YYYY') then
                TO_CHAR (cur.bud_dadeb, 'YYYY')
           else
               TO_CHAR (cur.bud_dadeb, 'YYYY')||'/'||TO_CHAR (ADD_MONTHS (cur.bud_dadeb, 12), 'YYYY')
           end case,       
      FROM bud_budget cur
     WHERE cur.bud_id = 3660;
    Vous avez déjà un alias, il s'appelle case !!!

  4. #4
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 126
    Par défaut
    remplace par ici ton alias est case !

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    La commande AS est explicite pour faire des alias.
    Notez que j'ai enlevé la virgule avant le from (qui devait être le résidu d'un copié collé).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT cur.bud_id,
           --budget annee n (titre_lib_budgetn)
           case when TO_CHAR (cur.bud_dadeb, 'YYYY') = TO_CHAR (cur.bud_dafin, 'YYYY')
           then
                TO_CHAR (cur.bud_dadeb, 'YYYY')
           else
               TO_CHAR (cur.bud_dadeb, 'YYYY') || '/' || TO_CHAR (ADD_MONTHS (cur.bud_dadeb, 12), 'YYYY')
           end AS "case"
      FROM bud_budget cur
     WHERE cur.bud_id = 3660;
    Notez aussi que vous pouvez factoriser l'année du début de votre case ainsi (les parenthèses ne sont pas nécessaires) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TO_CHAR (cur.bud_dadeb, 'YYYY') ||
          ( case when TO_CHAR (cur.bud_dadeb, 'YYYY') <> TO_CHAR (cur.bud_dafin, 'YYYY')
          then '/' || TO_CHAR (ADD_MONTHS (cur.bud_dadeb, 12), 'YYYY')
          end ) AS "case"

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Normalement, c'est END et non END CASE. Pour mettre ton alias, tu écris simplement ton AS TrucMuche juste après le END.

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Normalement, c'est END et non END CASE. Pour mettre ton alias, tu écris simplement ton AS TrucMuche juste après le END.

  8. #8
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 20
    Par défaut
    Merci bien

  9. #9
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    ?

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

Discussions similaires

  1. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  2. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07
  3. [VB6]rajout d'une case en haut à droite...
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 02/09/2003, 10h33
  4. Réponses: 6
    Dernier message: 26/01/2003, 13h45
  5. case sensible
    Par zdra dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/11/2002, 20h15

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