begin process at 2012 05 26 11:53:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Calcul de pourcentage.


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

Calcul de pourcentage.

vendredi 30 octobre 2009 à 11:52:25 | Calcul de pourcentage.

AUZUR

Bonjour à tous,
voila, j'ai un problème avec une requète SQL, sur SQLServer.

J'ai une table TabReg(NomRegion, CAreg, Population) avec laquelle, j'aimerais calculer le pourcentage des ventes réalisé dans tel ou tel région sur le total des ventes.
Que le tout soit calculé et insérer dans une nouvelle colonne que je vais créer dan TabReg.

J'ai tester cela:
Code :
SELECT NomRegion,SUM(TabReg.CAreg) * 100 / Tot.CAreg
FROM TabReg ,  
 (SELECT SUM(CAreg)
   FROM  TabReg)AS Tot
 
GROUP BY TabReg.NomRegion





mais ça ne marche pas, il le dit qu'il n'y a aucune colonne de spécifier pour la colonne 1 de Tot ?!?

Puis j'ai tester ça:

Code :
SELECT NomRegion, 
       CAST((SELECT SUM(CAreg)
              FROM  TabReg  
              WHERE NomRegion = T.NomRegion) AS FLOAT) * 100.0 / CAreg
FROM   TabReg AS T
GROUP  BY NomRegion


Mais pas mieux, il me dit que T.CAreg 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 GROUP BY.




Bref merci à ceux qui pourrons m'aider.
vendredi 30 octobre 2009 à 15:25:26 | Re : Calcul de pourcentage.

PascalCmoa

Membre Club

Bonjour,

Si je comprends bien, cette requete se fait sur la même table.
Personnellement, je ferai comme suit:

Code :
select
NomRegion
,cast(sum(CAreg) as float) * 100.0 / float(CAreg as float) as Total
from TabReg
group by NomRegion, CAreg


Je pense que cela doit fonctionner.

a+

PascalCmoa
email: PascalCmoa
vendredi 30 octobre 2009 à 16:40:41 | Re : Calcul de pourcentage.

AUZUR

Cela ne fonctionne pas.
Il me dit que float n'est pas un nom de fonction reconnu
lundi 2 novembre 2009 à 12:30:51 | Re : Calcul de pourcentage.

AUZUR

Bon c'est bon j'ai trouver la réponse, pour ceux que ça pourrais intéresser je mets la requête:

Code :
SELECT NomRegion,ROUND(SUM(TabReg.CAreg) * 100 / CAST((SELECT SUM(CAreg) FROM  TabReg)AS FLOAT),0)
FROM TabReg
GROUP BY TabReg.NomRegion


Voila, merci.
jeudi 1 décembre 2011 à 18:33:48 | Re : Calcul de pourcentage.

pradiergael

bonjour,

concernant le message d'erreur sur la 1 ère requête

mais ça ne marche pas, il le dit qu'il n'y a aucune colonne de spécifier pour la colonne 1 de Tot ?!?



pour info : il est obligatoire de nommer les champs d'une sous requête, s'il ne s'agit pas directement du nom d'un champ de l'objet source.

ici, il faut nommer SUM(CAreg) :

SELECT NomRegion,SUM(TabReg.CAreg) * 100 / Tot.Tot_CAreg
FROM TabReg ,
(SELECT SUM(CAreg) AS Tot_CAreg
FROM TabReg)AS Tot

GROUP BY TabReg.NomRegion


Cette discussion est classée dans : code, select, tabreg, nomregion, careg


Répondre à ce message

Sujets en rapport avec ce message

Revue de code SQL [ par littlemarley ] Bonjour,Je recherche une maniere de revoir mon code SQL : un soft qui permette par exemple de verifier les textes interdits : j'indique que je ne veu Update dans select [ par olibara ] BonjourJ'aimerais savoir s'il est possible de faire un UPDATE en utilisant une commande selectUn truc du genre :[CODE]UPDATEaddressset Address.isEtiqu provléme de recursivité [ par zwiki ] bonjour tout le monde j'ai un message d'erreur qui s'affiche avec cette requette "Syntaxe incorrecte vers le mot clé 'WITH'" malgré que j'ai bien suiv SubQuery et ou condition de jointure [ par Nicolas___ ] Bonjour, je suis étudiant en info et je dois repasser mon cours de SQL , j'ai donc une petite question à vous demandez (J'y ai déjà répondu, j'aimer problem avec un trigger [ par zaherM ] slt tous le mnd je suis un debutant en programation je desire creer un trigger ki me permet de calculer le cout moyen pondere du prix d achat dun prod Utilisation de clause where stockée en DB [ par Badside ] Bonjour, J'aimerais récupérer la somme de plusieurs montants stockés dans une table et sélectionnés sur des critères repris dans une clause where sto Besoin d'aide pour un exercice [ par stabii ] Bonjour tout le monde. J'aurais besoin de votre aide SVP. J'ai un exercice a faire, et je voudrais que vous dites si j'ai bien commencé? Merci d'avanc Select * from * [ par ziffox ] Bonjour à tous, Je cherche a faire une requête qui parcourt toute la base, et qui m'affiche le nom de la table et du champ qui contient une valeur. Requête utilisant un CONCAT dans le from [ par infkb ] Bonjour, je veux faire une requête sur la table test_21 tel que 21 et un id qu'on récupère d'une autre requête SQL puis je le concatène avec la chaîn Select Sum(Distinct) avec Access 2003 [ par js8bleu ] Bonjour, je suis sous access 2003 et j'ai une table recu(numrecu,daterecu,montanttotal,numvente,...) et une table vente (numvente,datevente,numclient


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,468 sec (3)

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