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 :

Nom de la nouvelle colonne avec CASE


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable de production
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de production
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 124
    Points
    124
    Par défaut Nom de la nouvelle colonne avec CASE
    bonjour,
    je débute en SQL (je suis plus habitué à VBA!)
    j'ai bien trouvé la fonction qui remplace le "IF" et cela fonctionne bien, mais je n'arrive pas mettre un nom à la nouvelle colonne
    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
    18
    19
    20
    21
    22
    USE [x]
    GO
    SELECT Op.[Order], Op.[Work Center],
    	Op.[Actual Activity 2],Op.[Actual Activity 1],(Mo.[Actual GR quantity]),
     
    	CASE 
    		WHEN(Mo.[Actual GR quantity])<'13' THEN 'CASS'
    		WHEN(Mo.[Actual GR quantity])<'60' THEN '100 lt'
    		WHEN(Mo.[Actual GR quantity])<'180' THEN '200 lt'
    		WHEN(Mo.[Actual GR quantity])<'700' THEN '500 lt'
    		ELSE 'BT'
    	END
     
    FROM sap_bw.Q173SIS_Operation_Analysis AS Op
    INNER JOIN sap_bw.Q507SIS_Manufacturing_Order AS Mo ON Op.PK_PRODORDER = Mo.PK_PRODORDER
    INNER JOIN sap_bw_dims.Dim_Calendar AS Ca ON Op.[Act.Finish Operation]=Ca.[Date]
    INNER JOIN sap_bw_dims.Dim_Material AS Ma On Op.PK_MATERIAL=Ma.PK_MATERIAL
    WHERE Ca.[Date]> GETDATE()-10 and Mo.Plant='CH10' and Mo.[Production Scheduler]='Y20'
     
     
     
    GO
    quand j'exécute l'entête de la nouvelle colonne "CASE" indique : "(No column name)".
    j'ai bien essayé de mettre des "AS" mais apparement cela ne fonctionnepas

    quelqu'un a une idée?
    merci d'avance de votre aide.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Peux-tu nous montrer ta requête avec le AS, car c'est bien la bonne méthode.

    Tatayo.

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable de production
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de production
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 124
    Points
    124
    Par défaut
    voilà une des essais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    USE [x]
    GO
    SELECT Op.[Order], Op.[Work Center],
    	Op.[Actual Activity 2],Op.[Actual Activity 1],(Mo.[Actual GR quantity]),
     
    	CASE AS contenant
    		WHEN(Mo.[Actual GR quantity])<'13' THEN 'CASS'
    		WHEN(Mo.[Actual GR quantity])<'60' THEN '100 lt'
    		WHEN(Mo.[Actual GR quantity])<'180' THEN '200 lt'
    		WHEN(Mo.[Actual GR quantity])<'700' THEN '500 lt'
    		ELSE 'BT'
    	END
    voilà le message d'erreur que me renvoie microsoft sql server management studio

    Msg 156, Level 15, State 1, Line 4
    Incorrect syntax near the keyword 'AS'.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Il faut mettre le AS après le CASE WHEN.
    Il faut bien penser que c'est le résultat du CASE qui est "aliasé".
    J'ai pour habitude d'entourer mes CASE par des espace, je trouve que c'est plus clair:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    USE [x]
    GO
    SELECT Op.[Order], Op.[Work Center],
    	Op.[Actual Activity 2],Op.[Actual Activity 1],(Mo.[Actual GR quantity]),
     
    	(CASE 
    		WHEN(Mo.[Actual GR quantity])<'13' THEN 'CASS'
    		WHEN(Mo.[Actual GR quantity])<'60' THEN '100 lt'
    		WHEN(Mo.[Actual GR quantity])<'180' THEN '200 lt'
    		WHEN(Mo.[Actual GR quantity])<'700' THEN '500 lt'
    		ELSE 'BT'
    	END) AS contenant
    FROM...

    Tatayo.

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable de production
    Inscrit en
    Septembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de production
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 101
    Points : 124
    Points
    124
    Par défaut
    nikel
    et merci de ton aide.

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

Discussions similaires

  1. Noms de tables et colonnes avec lettres capitales
    Par CinePhil dans le forum Débuter
    Réponses: 12
    Dernier message: 13/11/2009, 18h32
  2. Renommer le nom d'une colonne avec toad
    Par lightzeus dans le forum Toad
    Réponses: 4
    Dernier message: 13/08/2008, 15h34
  3. Comment eviter l'erreur d'un nom composé de colonne avec espace?
    Par soror dans le forum Bases de données
    Réponses: 8
    Dernier message: 13/07/2007, 13h54
  4. nouvelle colonne avec condition
    Par evaness dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 16h35
  5. Nombre de colonnes avec le nom de la table
    Par benji41 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/07/2005, 20h17

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