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 :

Requete petite probleme de syntaxe


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Requete petite probleme de syntaxe
    Je veux faire une requete qui liste la moyenne du consomme du combustible (AVG(ConsumCombustibil)) ou ConsumCombustibil est le champ du consomme du combustible. groupe par type auto (IdTip tableau TipuriAutomobile) et groupe aussi par TipCombustibil (tableau TipuriCombustibil) d'une cerataine periode (la periode est represente par deux champs DataOraPlecare et DataOraSosire du tableau FoaieParcursMasina tableau1 donc).

    Voila l'output desire par moi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Output: AVG(ConsumCombustibil) As ConsumCombustibil premierre colonne
    Deuxieme colonne: DataOraPlecare champ 
    Troisieme colonne: DataOraSosire champ
    Quatrieme colonne: IdTip -group by IdTip
    Cinquieme colonne: TipuriCombustibil GROUO BY TipCombustibil
    Sixieme colonne: Moyenne de la colonne TipuriCombustibil par une certaine periode (periode est donne par les champ DataOraPlecare et DataOraSosire ) - je dois faire un inner join je suppose
    Voila les tableaux:

    Tableau1: FoaieParcursMasina qui contient les champs DataOraPlecare et DataOraSosire

    Tableau2: TipuriAutomobile contient champ IdTip

    Tabela3: TipuriCombustibil contient champ IdCombustibil cle primaire IdMasina et TipCombustibil (on veut faire un group by TipCombustibil)

    IdFoaie - cle primaire tableau FoaieParcursMasina
    IdMasina -cle externe pour tableau 1, tableau 2 et tableau3
    IdTip - cle primaire pour le tableau 2 nomme TipuriAutomobile
    IdCombustibil -cle primaire pour le tableau nomme TipuriCombustibil




    Mais je dois faire GROUP BY IdTip et TipCombustibil et en faisant la requete complete(aussi en ajoutant GROUP BY tab2.IdTip,tab3.TipCombustibil)

    Voila ce que j'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT tab1.DataOraPlecare,tab1.DataOraSosire,tab2.IdTip,tab3.TipCombustibil,x.CombustibilConsumat
    FROM FoaieParcursMasina tab1
    left join
    (SELECT IdMasina,AVG(CombustibilConsumat) As CombustibilConsumat
    FROM FoaieParcursMasina
    GROUP BY IdMasina
    )x on x.IdMasina = tab1.IdMasina
     
    left join TipuriAutomobile tab2 on tab1.IdMasina = tab2.IdMasina
     
    left join TipuriCombustibil tab3 on tab3.IdCombustibil =tab2.IdMasina
    GROUP BY tab2.IdTip,tab3.TipCombustibil
    Pourtant j'ai l'erreur suivante:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Msg 8120, Level 16, State 1, Line 1
    Column 'FoaieParcursMasina.DataOraPlecare' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
    Donc la consigne de la requete c'est lister la moyenne du consomme du combustible (donc faire AVG(ConsumCombustibil) ou ConsumCombustibil est le champ du tableau1 nomme tab1 dans une periode(decrite par DataOraPlecare et DataOraSosire tableau1 alias tab1) groupes par types auto (group by champ IdTip du tableau2) et groupes par type du combustible
    (group by TipCombustibil champ du tableau TipuriCombustibil tableau3 alias tab3 donne ). J'ai mis en bold la consigne et j'ai donne les details de mes champs qui font reference a ca. Aussi j'ai donne l'output desire par la requete (6colonnes) et aussi les champs qui entrent dans la structure de mes 3 tableaux.

    Je ne sais pas comment faire la moyenne de la colonne CombustibilConsumat dans la seconde colonne nomme Maxim:



    Et comment faire moyenne du combustible AVG(ConsumCombustibil) dans une periode donc en dependant des colonnes DataOraPlecare et DataOraSosire du tableau1 (inner join).

  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 999
    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 999
    Billets dans le blog
    6
    Par défaut
    Au lieu de nous envoyez des images qui ne servent à rien, envoyez nous le DDL et un jeu d'essais. En faisant cela vous vous conformerez à la charte de postage :
    http://www.developpez.net/forums/d96...vement-poster/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Ok. Je veux refaire la structure des mes 3 tables et je posterais les DDL (CREATE TABLE) pour les 3 tableaux. (et je vais modifier le dernier message de cette discussion).


    J'ai manque quelque details et je vous donnerais tous les details possibles pour m'aider.

    Merci pour avoir patience je posterais aujourd'hui la structure complete de mes tables (colonnes et champs CREATE TABLE, INSERT INTO).


  4. #4
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    J'ai resolu c'etait du champ NormaL100KM du champ decimal !

    Merci en tous cas!

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

Discussions similaires

  1. Requete petite probleme de comprehension
    Par mihaispr dans le forum Développement
    Réponses: 2
    Dernier message: 19/10/2009, 14h29
  2. Requete petite probleme
    Par mihaispr dans le forum Développement
    Réponses: 3
    Dernier message: 19/10/2009, 13h49
  3. Création d'un module : petit probleme de syntaxe
    Par sebinator dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/11/2007, 11h10
  4. Petit probleme de syntaxe
    Par pooi1 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 26/06/2007, 11h47
  5. petit probleme de syntaxe
    Par kiss78 dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2006, 12h21

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