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 2K] : Invalid column name


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut [SQL Server 2K] : Invalid column name
    Bonjour

    Dans cette requête j'effectue deux CASE.
    Le premier case récupère la valeur du mois courant, sur laquelle je me base dans le second CASE.

    Cependant, SQL Server ne reconnait pas la colonne Mois dans le second CASE. Quelqu'un aurait il une solution pour contourner ce problème?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT 
    (CASE 
      WHEN Period.Mois  IN (1,2,3) THEN 1 
      WHEN Period.Mois  IN (4,5,6) THEN 4 
      WHEN Period.Mois  IN (7,8,9) THEN 7 
      ELSE 10
     END) AS [Mois],
     (CASE
      WHEN (Mois-3>0) THEN (Mois-3)
      ELSE (Mois-3 + 12)  
     END) AS Mois0
     
    FROM Period
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    pourquoi ne pas tout simplement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
    (CASE 
      WHEN Period.Mois  IN (1,2,3) THEN 10
      WHEN Period.Mois  IN (4,5,6) THEN 1
      WHEN Period.Mois  IN (7,8,9) THEN 4 
      ELSE 7
     END) AS [Mois],
    FROM Period
    ?????
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    J'ai besoin de retourner deux colonnes.
    La premiere contient les valeurs 1,4,7 ou 10 suivant le mois en cours.
    La seconde est calculée à partir de la valeur de la premiere colonne.

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    dans ce cas, il va te falloir utiliser ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT 
    (CASE 
      WHEN Period.Mois  IN (1,2,3) THEN 1 
      WHEN Period.Mois  IN (4,5,6) THEN 4 
      WHEN Period.Mois  IN (7,8,9) THEN 7 
      ELSE 10
     END) AS [Mois],
    (CASE 
      WHEN Period.Mois  IN (1,2,3) THEN 10
      WHEN Period.Mois  IN (4,5,6) THEN 1
      WHEN Period.Mois  IN (7,8,9) THEN 4 
      ELSE 7
     END) AS [Mois0],
    FROM Period
    car on ne peut pas utiliser les Alias dans ce cas là
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    Merci bien pour ton aide

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

Discussions similaires

  1. [SQL SRV 2005] problème de case..when --> invalid column name
    Par Kropernic dans le forum Développement
    Réponses: 1
    Dernier message: 12/03/2012, 14h52
  2. Invalid column name
    Par Krustig dans le forum Hibernate
    Réponses: 4
    Dernier message: 06/02/2011, 23h23
  3. Invalid column name ..
    Par lerieure dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/10/2010, 11h09
  4. Invalid column name ? Mais le problème vient d'ailleurs !
    Par TigrouMeow dans le forum Hibernate
    Réponses: 7
    Dernier message: 04/01/2007, 18h11
  5. Réponses: 4
    Dernier message: 25/01/2006, 18h25

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