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 :

[Debutant]Problème de création d'une vue indexée


Sujet :

MS SQL Server

  1. #1
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut [Debutant]Problème de création d'une vue indexée
    Sachant que la définition d'une vue indexée ne doit pas contenir la fonction MAX(), je voudrais savoir comment contourner le problème pourque l'optimiseur de requête utlise une vue à la place de la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     idVehicule, DatePrise, MAX(heureprise) AS HeureMax, 
                   SUM (Quantite) AS Quantite
    FROM          T_PriseCarburant
     
    GROUP BY idVehicule, DatePrise
    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 888
    Points : 53 121
    Points
    53 121
    Billets dans le blog
    6
    Par défaut
    faites une vue intermédiaire avec un agrégat de quantité groupé par heure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     idVehicule, DatePrise, heureprise, 
                   SUM (Quantite) AS Quantite
    FROM          T_PriseCarburant
     
    GROUP BY idVehicule, DatePrise, heureprise
    A +

  3. #3
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Citation Envoyé par SQLpro
    faites une vue intermédiaire avec un agrégat de quantité groupé par heure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     idVehicule, DatePrise, heureprise, 
                   SUM (Quantite) AS Quantite
    FROM          T_PriseCarburant
     
    GROUP BY idVehicule, DatePrise, heureprise
    A +
    Merci

    Je voudrais avoir un index ordonné en cluster composé des colones (idVehicule, DatePrise). Pour ce qui est de ton exemple je serai obligé d'ajouter la colone HeurePrise dans l'index . Je me trompe ?

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

Discussions similaires

  1. Problème de résultat avec une vue indexée
    Par elsuket dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 21/12/2011, 18h40
  2. Problème script de création d'une vue
    Par roman67 dans le forum SQL
    Réponses: 7
    Dernier message: 07/08/2008, 12h49
  3. Problème de création d'une vue triée
    Par Greg.shogun dans le forum DB2
    Réponses: 1
    Dernier message: 07/06/2007, 17h41
  4. Problème pour création d'une vue
    Par gapse dans le forum Oracle
    Réponses: 5
    Dernier message: 30/08/2006, 15h35
  5. problème lors de création d'une vue
    Par gapse dans le forum Oracle
    Réponses: 7
    Dernier message: 26/07/2006, 12h59

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