begin process at 2012 05 27 05:47:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

une somme de deux vues qui ne marche pas HELP!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

une somme de deux vues qui ne marche pas HELP!!!

jeudi 28 janvier 2010 à 08:51:16 | une somme de deux vues qui ne marche pas HELP!!!

Su4p

Contexte : la *** a un parc de 50 vehicules situés dans différentes villes. La *** souhaiterais un site afin de suivre leurs interventions et leurs consomations. mais aussi des statistiques d'aide à la prise de décision :
je souhaiterais pouvoir calculer le cout des consomations et des interventions des vehicules de chacunes des villes afin d'emettre un graphique ou l'on pourais voir la ville qui dépense le plus etc...

Ma vue pour le calcul des interventions sur les vehicules organisés par ville :

CREATE VIEW dbo.vueClassementVillePlusCherIntervention
AS
SELECT TOP 100 PERCENT dbo.ville.vil_libelle, SUM(dbo.commande.cmd_montant_ttc) AS somInt
FROM dbo.ville INNER JOIN
dbo.vehicule ON dbo.ville.vil_id = dbo.vehicule.veh_vil_id INNER JOIN
dbo.Interventions ON dbo.vehicule.veh_immat = dbo.Interventions.int_veh_immat INNER JOIN
dbo.commande ON dbo.Interventions.int_id = dbo.commande.cmd_int_id
GROUP BY dbo.ville.vil_libelle
ORDER BY somInt DESC


Ma vue pour le calcul des consomations sur les vehicules organisés par ville :

CREATE VIEW dbo.vueClassementVillePlusCherConso
AS
SELECT dbo.ville.vil_libelle, SUM(dbo.consomation.conso_montant) AS somConso
FROM dbo.ville INNER JOIN
dbo.vehicule ON dbo.ville.vil_id = dbo.vehicule.veh_vil_id INNER JOIN
dbo.consomation ON dbo.vehicule.veh_immat = dbo.consomation.conso_veh_immat
GROUP BY dbo.ville.vil_libelle


Ma vue pour le calcul des consomations sur les vehicules organisés par ville :

CREATE VIEW dbo.vueClassementVillePlusCher
AS
SELECT TOP 100 PERCENT dbo.vueClassementVillePlusCherIntervention.vil_libelle,
( dbo.vueClassementVillePlusCherIntervention.somInt + dbo.vueClassementVillePlusCherConsommation.somConso) AS somCout
FROM dbo.vueClassementVillePlusCherIntervention,
dbo.vueClassementVillePlusCherConsommation

ORDER BY somCout DESC


Probleme : mes villes sont en double (normal il n'y a pas de group by) donc :

CREATE VIEW dbo.vueClassementVillePlusCher
AS
SELECT TOP 100 PERCENT dbo.vueClassementVillePlusCherIntervention.vil_libelle,
( dbo.vueClassementVillePlusCherIntervention.somInt + dbo.vueClassementVillePlusCherConsommation.somConso) AS somCout
FROM dbo.vueClassementVillePlusCherIntervention,
dbo.vueClassementVillePlusCherConsommation

group by dbo.vueClassementVillePlusCherIntervention.vil_libelle

ORDER BY somCout DESC


Probleme : MICROSOFT SQL-DMO SQLState:42000
Erreur 8120 la colonne somInt n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause du GROUP BY. la colonne somConso n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause du GROUP BY.



Merci pour la lecture et l'aide
cdlt
lundi 15 février 2010 à 16:28:13 | Re : une somme de deux vues qui ne marche pas HELP!!!

hymnuade

Bonjour,

Quand tu regroupes, l'ensemble des champs requêtés doivent soit apparaître dans la clause GROUP BY, soit être aggrégés EX :
CREATE VIEW dbo.vueClassementVillePlusCher
AS
SELECT TOP 100 PERCENT dbo.vueClassementVillePlusCherIntervention.vil_libelle,
( SUM(dbo.vueClassementVillePlusCherIntervention.somInt) + SUM(dbo.vueClassementVillePlusCherConsommation.somConso) ) AS somCout
FROM dbo.vueClassementVillePlusCherIntervention,
dbo.vueClassementVillePlusCherConsommation

group by dbo.vueClassementVillePlusCherIntervention.vil_libelle

ORDER BY somCout DESC

A noter que le select TOP 100 PERCENT va te ramener 100% du résultat de requête, est-il vraiment utile en l'espèce ?


Cette discussion est classée dans : color, ville, by, dbo, vil


Répondre à ce message

Sujets en rapport avec ce message

Probleme de GROUP BY [ par etu54 ] Bonjour et merci de prendre ces quelques minutes pour lire le post, Je débute dans le Access et j'ai un probleme qui me fait perdre la tete Voila j'a Probleme requete vide [ par andy331 ] Bonjour tout le monde!! Voila j'ai un problème de requête!! J'ai deux table T_ville et T_code_postal et deux liste déroulante [color=purple]Modifvill ORDER BY SPECIFIQUE [ par arnaudmuse ] Bonjour je suis a la recherche d'un code pour pouvoir faire un order by specifique, je m'explique. Disons que je récupère par le biais d'une requette Requete SQL Access : Correspondance entre 2 table [ par Barbados16 ] Bonjour à tous, je suis novice en SQL et j'essaye d'adapter une application ACCESS. Je vous explique ce que je veux faire et où je coince. Je dispos mysqlserver [ par favella ] bonjour a tous , j'ai besoin de votre aide pour me procurer des documents pour mysql sevrer (les commandes nécessaire pour créer modifier ... une bas renseignements sur projet [ par LesBdd ] [b]Bonjour a tous...(-_-)...[/b] Je suis ici pour quémander un peu d'aides sur un projet de site. Je précise , je ne suis pas là pour me faire mâcher Problème d authentification [ par famou2 ] Bonjour à tout le monde. Quand je tente de faire une authentification Windows pour sql server 2005, ce message s affiche. Y a-t-il une solution? [co Duplicate entry '0-0' for key 'PRIMARY' [ par smile88 ] bonsoir, quand je veux inserer dé donnée dans ma base il maffiche ce msg "[color=red]Duplicate entry '0-0' for key 'PRIMARY'[/color]" voici mon code requete avec having et group by [ par mossie ] Mossie Bonjour, Je suis en train de finir la facturation pour une application web (php/mysql). Il me faut une facture avec detail (ca marche!) et sans Requête (Select From Where) avec des variables [ par oussamatel ] salut à [color=blue]bonjour tout le monde, s'il vous plait j'ai vraiment besoin d'aide[/color] j'ai un petit problème avec une requête sql ou j'ai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales