|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Urbaniste Inscription : décembre 2011 Messages : 3 ![]() |
Bonjour,
Dans le cadre de l'exploitation d'une base de données sur les déplacements, je cherche à constituer à partir de la table suivante... DEP(origine, destination, mode, nombre) ...une requête qui afficherait la somme de tous les déplacements dont l'origine ou la destination serait "domicile", selon le mode (en tête de colonnes) et le motif (en tête de ligne). Après des heures de trifouillages je ne parviens qu'à obtenir un tableau du type: -----------------| Bus | Vélo | Voiture Domicile | Travail | 1 | 2 | 3 Travail | Domicile| 3 | 2 | 1 Domicile | Achat | 2 | 3 | 4 Achat | Domicile| 4 | 3 | 2 alors que je cherche à obtenir: ------ |Bus | Vélo | Voiture Travail | 4 | 4 | 4 Achat | 6 | 6 | 6 c'est à dire regrouper en ligne par l'autre motif du couple origine-destination dont l'un est "Domicile". J'espère avoir été compréhensible... Merci d'avance à ceux qui se pencheront sur cette colle ! MLD |
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Hello MELODE,
Je pense qu’il faut passer par une requête intermédiaire. J’en vois deux pour aboutir au même résultat : Code sql :
Ou bien Code sql :
Puis tu fais ton analyse croisée sur la requête intermédiaire.
__________________
L'informatique fait son grand retour au lycée... |
||||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Urbaniste Inscription : décembre 2011 Messages : 3 ![]() |
Bonjour,
Merci pour le coup de main ! J'ai testé les 2 formules Les deux semblent fonctionner mais pour celle contenant l'UNION, j'ai les enregistrement domicile-domicile en double. Y'a t'il un moyen d'éviter cela ? Je pense que la fonction UNION (que je découvre) pourra m'être utile à l'avenir... Autre question: où insérer un groupement sur le premier champ (TrajetDomicile) qui me ferait une somme sur le nombre ? |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Citation:
…On va ne garder que la première requête avec iif qui fonctionne même dans ce cas précis (coup de bol !).Après je n’ai pas bien compris ta question, dans la requête avec analyse croisée on fait : - [TrajetDomicile] en "en-tête de ligne" ; - [Mode] en "en-tête de colonne" ; - puis [Nombre] en "valeur " avec l’opération "somme". Ça ne marche pas ?
__________________
L'informatique fait son grand retour au lycée... |
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() ![]() Inscription : avril 2006 Messages : 1 318 ![]() |
bonjour,
Sauf erreur, c'est possible directement avec une requête analyse croisée. Code :
De plus, j'ai enlevé le cas ou Origine=Destination. Pour le faire apparaître il suffit de retire la clause en rouge Philippe |
||
|
00
|
|
|
#6 |
|
Invité de passage
![]() Urbaniste Inscription : décembre 2011 Messages : 3 ![]() |
Bonjour,
Je vous remercie pour vos réponses mais je n'ai plus le temps de m'y pencher pour le moment car je travaille sur autre chose. En attendant de m'y replonger je classe le sujet en résolu. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com