Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1670 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide urgente SVP pour la correction d'une requête !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide urgente SVP pour la correction d'une requête !

n°2259772
doudou2015
Posté le 05-06-2015 à 14:45:13  profilanswer
 

Bonjour tout le monde, ça fait un moment que j'essaye d'écrire une requette qui affichera un pourcentage par champs,  
 
j'ai 2 tables:      - FORM(id_form, id_utilisateur, service, libelle, date, nombre, cout, bilan..)
                      - UTILISATEUR(id_utilisateur, nom)
 
ce que je voudrais c'est afficher le pourcentage des valeurs nulles dans les colonnes : 'nombre', 'cout', 'bilan', 'date', au même temps dans quel 'service' et par quel 'utilisateur' !!
 
jusqu'à présent j'arrive à tester champs par champs et service par service tout en donnant le pourcentage total par service (sans prendre en considération l'utilisateur) et le pourcentage total par service et par chaque utilisateur, avec la requête suivante qui marche bien sur :  
 
 SELECT distinct(select distinct(((SELECT COUNT( * )FROM FORM WHERE DATE_DEBUT IS NULL and CD_SERVICE='a' )*100 /(SELECT COUNT( * )FROM FORM where CD_SERVICE='a'))) from FORM) AS Totale_a,
(select distinct(((SELECT COUNT( * )FROM FORM WHERE DATE_DEBUT IS NULL and SERVICE='a' and ID_UTIL_ASSIST=318980 )*100 /(SELECT COUNT( * )FROM FORM where SERVICE='a' and ID_UTIL_ASSIST=318980)))  from FORM) AS x ,
(select distinct(((SELECT COUNT( * )FROM FORM WHERE DATE_DEBUT IS NULL and SERVICE='a' and ID_UTIL_ASSIST=363824 )*100 /(SELECT COUNT( * )FROM FORM where SERVICE='a' and ID_UTIL_ASSIST=363824)))  from FORM) AS y,
(select distinct(((SELECT COUNT( * )FROM FORM WHERE DATE_DEBUT IS NULL and SERVICE='a' and ID_UTIL_ASSIST=363819 )*100 /(SELECT COUNT( * )FROM FORM where SERVICE='a' and ID_UTIL_ASSIST=363819)))  from  FORM) AS z
from FORM;
 
 
quelqu'un aurait une idée ? :??:  
 
 
merci par avance  :)

mood
Publicité
Posté le 05-06-2015 à 14:45:13  profilanswer
 

n°2260001
Tibar
Posté le 09-06-2015 à 17:39:48  profilanswer
 

Salut,
 
Quand je fais ce genre de stats, je passe par ce type de requête :  
 
select
UT.id_utilisateur
, UT.nom
, FO.service
, sum(case when nombre is null then 1 else 0 end) / count(*) as pc_nombre_null
, sum(case when cout is null then 1 else 0 end) / count(*) as pc_cout_null
...
from  
FORM FO
inner join UTILISATEUR UT on UT.id_utilisateur = FO.id_utilisateur
group by  
UT.id_utilisateur
, UT.nom
, FO.service
 
--j'ai ajouté l'id_utilisateur dans le select et dans le group by pour éviter le cas ou plusieurs utilisateurs aient le même nom.
 
si tu as besoin d'un niveau de regroupement différent (par service sans prendre en compte l'utilisateur par exemple), je pense qu'il vaut mieux faire une seconde requête...


Message édité par Tibar le 09-06-2015 à 17:43:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide urgente SVP pour la correction d'une requête !

 

Sujets relatifs
aide programme C[C] Aide projet jeu vidéo
Aide idée sur génération auto lien[SQL/PLSQL] problème sur requête
aide pour imprimer les onglet copier avec userformaide menu deroulant html
[Python] Tetris, besoin d'aide pour élimination d'une ligne complèteBesoin d'aide sur une programmation
Requête API Instagram en C#Multipe requête sql dans un script vbs
Plus de sujets relatifs à : Aide urgente SVP pour la correction d'une requête !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR