un chti problème de requête :( [SQL] - Programmation
Marsh Posté le 13-09-2001 à 15:15:43
Je pense que tu ne devrais pas mettre dans ta clause Group by toutes tes zones en count(...)
Marsh Posté le 13-09-2001 à 15:54:18
attends, le grou by te permet de grouper le result set sur un ensemble de colonnes qui ont la même valeur en même temps.
si tu as un identificateur de profil & que chaque utilisateur a 1 profil, il te suffit de grouper sur l'id de profil :
Code :
|
Marsh Posté le 13-09-2001 à 17:09:29
instantdharma a écrit a écrit : attends, le grou by te permet de grouper le result set sur un ensemble de colonnes qui ont la même valeur en même temps. si tu as un identificateur de profil & que chaque utilisateur a 1 profil, il te suffit de grouper sur l'id de profil :
|
Bah en fait le problème est beaucoup plus corser que cela. En fait il me faut connaître la somme de tous les administrateurs, modérateurs,.....; sachant que ce sont des champs oui/non (true ou false). j'ai essayé par n'importe quel méthode mais impossible
de trouver le bon résultat
Marsh Posté le 13-09-2001 à 17:13:18
Tu dois pouvoir y arriver
Tu peux utiliser aussi le count(distinct(...))
where ... = 'true'
Marsh Posté le 13-09-2001 à 17:36:12
effectivement première chose.
virer du group by les colonnes qui sont dans un count
Marsh Posté le 13-09-2001 à 22:49:44
essaye de separe tes requetes et de les joindre apres
du style
select count(id), null, null, null where... join
select null, count(pid), null, null where... join
select null, null, count(vid), null where ... join
select null, null, null, count(nid) where...
Je suis pas sur que ce soit join à mettre entre les apels, je me
souvient plus trop, dans l'aide, c'est la fonction pour joindre en tout cas. Essaye, c pas sur que se soir bon mais enfin
Marsh Posté le 13-09-2001 à 15:10:59
Je vais tenter d'expliquer clairement la chose. J'ai 2 tables, l'une avec des utilisateurs, l'autre avec les profils des utilisateurs. la jointure se fait entre Idp_pro (Identifiant des profils) et Pro_uti (le profil des utilisateurs). Je compte compter le nombre d'administrateurs, de modérateurs, d'utilisateurs inscrits et non inscrits, le tout en une seul requête SQL. Je ne veux pas de truc du style Statistiques.recordcount, etc !!!.
Voila en fait la rêquete que je souhaitais avoir, mais qui ne fonctionne pas non plus
SQl="Select Den_uti,"&_
" count(Adm_pro) As Nbr_Adm_pro,"&_
" count(Mod_pro) As Nbr_Mod_pro,"&_
" count(Ins_pro) As Nbr_Ins_pro,"&_
" count(Act_pro) As Nbr_Act_pro"&_
" From Utilisateurs, Profiles Where "&_
" Pro_uti=Idp_pro And Adm_pro=true Group By"&_
" Adm_pro,"&_
" Mod_pro,"&_
" Ins_pro,"&_
" Act_pro,"&_
" Den_uti Order By"&_
" Adm_pro,"&_
" Mod_pro,"&_
" Ins_pro,"&_
" Act_pro"
Statistiques.Open SQL, conn, 3, 3