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 :

Créer une Vue avec condition


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Points : 19
    Points
    19
    Par défaut Créer une Vue avec condition
    Bonjour,

    Est-il possible de créer une vue sous sql server 2000 contenant des case when?
    Si oui comment. car le script ci-dessous fonctionne mais lorsque je souhaite voir le résultat la vue ne renvoi rien????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    create view V1 (Type_contrat,Nbre_CPTE_janvier,janvier)WITH SCHEMABINDING
    as
    select Type_contrat, 
    count(case when janvier is not null then num_contrat end) as [Nbre_CPTE_janvier],
    sum(janvier) as janvier
    from dbo.tbl_contrat, dbo.TBL_TYPE_CONTRAT
    where num_type_contrat = Code_type_contrat
    group by type_contrat
    Merci pour votre aide

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Est-ce que la requête en elle même renvoi quelque chose ?

    Etes vous sûr de votre jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE num_type_contrat = Code_type_contrat
    un numéro d'un coté, un code de l'autre... il se pourrait que le problème vienne de là.

    Au passage, si num_contrat n'est pas nullable, vous pouvez remplacer votre COUNT par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    count(janvier) AS [Nbre_CPTE_janvier],

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    La requete seule me renvoie bien les données souhaitées et la jointure est correcte ce sont juste les libelles des champs qui diffèrent mais les formats sont les mêmes, non null.
    La création de la vue s'effectue mais lorsque je souhaite visualiser les données il n'y a aucune données alors que le requete me renvoie quelques chose.

    Merci pour votre aide

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    voulez vous dire qu'un
    ne renvoi aucune ligne ?

Discussions similaires

  1. Créer une vue avec des conditions
    Par jamdinhe dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/12/2012, 09h59
  2. Impossible de créer une vue avec un champ spatial
    Par M Roncheau dans le forum SQL
    Réponses: 2
    Dernier message: 24/08/2007, 09h11
  3. Créer une vue avec des onglets
    Par Flackou dans le forum MFC
    Réponses: 2
    Dernier message: 14/06/2007, 11h43
  4. Créer une vue avec du SQl dynamique
    Par gghonang2 dans le forum Oracle
    Réponses: 15
    Dernier message: 06/09/2006, 22h03
  5. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 12h37

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