Sommes "sélectives" ? - SQL/NoSQL - Programmation
Marsh Posté le 03-06-2004 à 11:27:22
ReplyMarsh Posté le 03-06-2004 à 11:33:57
ben j'en fais déjà un, mais là j'ai les sommes des statuts sous forme verticale et je les voudrais horizontale... ?
c-a-d passer de ça :
01/06/2004 0 15 |
à ça :
01/06/2004 15 0 0 0 0 0 1 1 |
Marsh Posté le 03-06-2004 à 11:39:59
Sous Access ca donnerait un truc comme ca:
Code :
|
Ou dans la condition du DCOUNT, date et statut en dehors des "" représentent ceux de la ligne en cours et ceux entre "" représentent ceux a selectionner par le DCOUNT.
C pas très clair ce que je dis des fois...
Sinon, je sais pas si DCOUNT est dispo dans d'autres SGBD.
Marsh Posté le 03-06-2004 à 11:49:16
[ zed ] a écrit : c-a-d passer de ça :
|
Heu....mon truc du dessus te refait ca....
[ zed ] a écrit :
|
Pour ca se cerait:
Code :
|
Le problème c'est que ca marche plus si tu ne connais pas la valeur maxi se statut...
Edit: correction des "" dans le code
Marsh Posté le 03-06-2004 à 11:57:50
si je connais la valeur max, mais je suis sous oracle et je suis pas sûr que DCount existe, m'enfin je vais chercher, merci
Marsh Posté le 03-06-2004 à 12:02:24
[ zed ] a écrit : si je connais la valeur max, mais je suis sous oracle et je suis pas sûr que DCount existe, m'enfin je vais chercher, merci |
J'utilise pas oracle mais il doit y avoir un équivalent...
Les fct d'agrégation D... permettent de rajouter des conditions supplémentaires et/ou différentes pour une colonne que celle du WHERE.
C'est bien pratique...
Edit: c'est pas le tout de connaitre la valeur max, faut-il encore que ce soit une valeur discrète.
Marsh Posté le 03-06-2004 à 12:03:55
strawfield a écrit : |
oui c'est exactement ce qu'il me faut en fait
Marsh Posté le 03-06-2004 à 15:25:00
Peut etre que en les récupérant un par un et en les traitant par la suite...
Drapo en tout cas...
Marsh Posté le 03-06-2004 à 15:27:01
Ben, il reste plus que les requêtes imbriquées...
J'ai déjà pratiqué ce sport là dans la WHERE mais jamais dans le SELECT mais ca doit le faire aussi.
Marsh Posté le 03-06-2004 à 15:31:27
si ca existe je connais pas...
mais je pensais a un traitement derriere...
le résultat est affiché avec quoi? directement sur une console?
Marsh Posté le 03-06-2004 à 15:36:23
hop le fou a écrit : si ca existe je connais pas... |
Je viens de regarder vite fait dans mon bouquin de sql, ca a pas l'air d'exister...
Sinon tu peut pas faire une requête union???
J'ai jamais utilisé ca mais ca doit être fait pour ces cas là...je me trompe???
Marsh Posté le 03-06-2004 à 15:42:02
les unions c'est pas pour ça, c'est pour regrouper dans les résultats des données provenant de plusieurs tables.
Marsh Posté le 03-06-2004 à 15:54:41
Beegee a écrit : les unions c'est pas pour ça, c'est pour regrouper dans les résultats des données provenant de plusieurs tables. |
C'est ce que je pensais, mais je ma suis mal exprimé:
Il faudrait faire une requête par valeur possible de 'statut' et tout regrouper avec une requête union...
Marsh Posté le 03-06-2004 à 15:55:34
[ zed ] a écrit : bon ben je crois que c'est mort alors, tant pis :-/ |
Ce serait quand même la fin du monde si je peut le faire en 2 temps 3 mouvements sous access et que tu puisses pas le faire sous oracle!!!
Marsh Posté le 04-06-2004 à 11:29:52
je vois pas trop l'intérêt de se casser la tête à faire ça dans la requête ... c'est typiquement un problème de présentation de données, donc ça se fait plutôt dans le code qui récupère le résultat de la requête donnée dans le premier post.
Marsh Posté le 04-06-2004 à 15:51:50
en fait j'ai besoin de faire une vue donc je suis obligé de tout faire avec un select...
sinon j'ai trouvé un début de solution, c'est super crade mais ça marche
Code :
|
Donc là j'obtiens bien ce que je veux mais forcément ça me sort qu'une ligne correspondant à la date spécifiée... et je vois trop comment faire pour afficher plusieurs journées
Marsh Posté le 04-06-2004 à 16:20:05
[ zed ] a écrit : en fait j'ai besoin de faire une vue donc je suis obligé de tout faire avec un select...
|
Donc le select dans le corps de requête marche!!! Je me coucherai moins bête ce soir!!!
Et un truc dans ce gout là, t'as essayé???
Code :
|
Marsh Posté le 04-06-2004 à 16:34:53
ça semblait une bonne idée mais ça marche pas
--
(select count(*) from Table where Date=dateligne and Statut=0) as Statut_0,
--
il me dit "dateligne : nom de colonne non valide", groumf...
Marsh Posté le 03-06-2004 à 11:24:52
hello,
voilà j'ai dans une table un champ "statut" qui peut prendre différentes valeurs (0, 1, 2, ...) et je voudrais obtenir sur la même ligne, le nombre de d'entrées dans la base qui ont le statut 0, le nb qui ont le statut 1, etc...
bref, pour l'instant j'obtiens ça :
Date Statut Count(*)
01/06/2004 0 15
01/06/2004 6 1
01/06/2004 7 1
02/06/2004 0 13
02/06/2004 6 4
02/06/2004 7 1
03/06/2004 0 11
03/06/2004 2 4
04/06/2004 0 18
05/06/2004 0 6
07/06/2004 0 15
mais il me faudrait une ligne par date... c'est possible dans un select ?
Message édité par [ ZeD ] le 03-06-2004 à 11:25:49