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

MS SQL Server Discussion :

PROBLEME - CASE WHEN - IN A VIEW


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 17
    Par défaut PROBLEME - CASE WHEN - IN A VIEW
    Salut,

    Dans le code qui suit je souhaite considérer tous les mois passés comme le mois actuel. En d'autres termes si il y a des enregistrements du mois de décembre je souhaiterais les voir apparaître comme janvier 2008 ( sous le format 200801 d'ou : THEN (CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))

    Toujours est-il que cela ne fonctionne pas

    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
    23
    24
     
    CREATE VIEW dbo.[OPEN]
    AS
    SELECT 
     
    [SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month] as [YEAR_MONTH], 
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[ITEM_ID] AS [Item],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[LOC_ID] AS [Dist_Node]
     
    CASE
    WHEN ((CONVERT(CHAR(6), [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[CUST_ORD_DATE], 112))<=(CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))
    THEN (CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))
    END
     
    FROM [LVSDB].[dbo].[SCP_CUST_ORD_STUB]
    INNER JOIN [SIOP_Daily_Picture].[dbo].[fiscal_date]
     
    ON [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[CUST_ORD_DATE] = [SIOP_Daily_Picture].[dbo].[fiscal_date].[Date]
     
    GROUP BY [SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[ITEM_ID],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[LOC_ID]
     
    GO
    Merci d'ores est déjà pour les solutions amenées jusque là et qui sait : peut être un nouveau miracle

    bon ben lorsque j'essaie avec ce code :
    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
     
    CREATE VIEW dbo.[OPEN]
    AS
    SELECT 
     
    CASE [SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month]
    WHEN (CONVERT(CHAR(6), [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[CUST_ORD_DATE], 112))<=(CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))
    THEN (CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))
    END
    as [YEAR_MONTH], 
     
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[ITEM_ID] AS [Item],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[LOC_ID] AS [Dist_Node]
     
    FROM [LVSDB].[dbo].[SCP_CUST_ORD_STUB]
    INNER JOIN [SIOP_Daily_Picture].[dbo].[fiscal_date]
     
    ON [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[CUST_ORD_DATE] = [SIOP_Daily_Picture].[dbo].[fiscal_date].[Date]
     
    GROUP BY [SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[ITEM_ID],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[LOC_ID]
    cela ne fonctionne pas non plus

  2. #2
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 17
    Par défaut
    Pour ceux que ça pourrait intéresser j'ai fini par trouver la réponse à ma propre question .... :


    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
    23
    24
    25
    26
    27
    28
    CREATE VIEW dbo.[OPEN]
    AS
    SELECT 
    
    CASE 
    WHEN ([SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month])<=(CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))
    THEN (CONVERT(CHAR(6), dateadd(M,0,getdate()), 112))
    ELSE ([SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month])
    END
    
    as [YEAR_MONTH], 
    
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[ITEM_ID] AS [Item],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[LOC_ID] AS [Dist_Node]
    
    FROM [LVSDB].[dbo].[SCP_CUST_ORD_STUB]
    INNER JOIN [SIOP_Daily_Picture].[dbo].[fiscal_date]
    
    ON [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[CUST_ORD_DATE] = [SIOP_Daily_Picture].[dbo].[fiscal_date].[Date]
      
    
    GROUP BY [SIOP_Daily_Picture].[dbo].[fiscal_date].[Year_Month],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[ITEM_ID],
    [LVSDB].[dbo].[SCP_CUST_ORD_STUB].[LOC_ID]
    
    HAVING SUM([CUST_ORD_QTY]-[CUST_SHP_QTY])<> 0 
    
    GO

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

Discussions similaires

  1. Probleme avek my CASE WHEN
    Par Orkido dans le forum Développement
    Réponses: 2
    Dernier message: 19/02/2011, 17h13
  2. PROBLEME - CASE WHEN -
    Par Bourezak dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/01/2008, 10h10
  3. Pb avec case when !
    Par Brice Yao dans le forum Langage SQL
    Réponses: 11
    Dernier message: 05/08/2005, 08h20
  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