OVH Cloud OVH Cloud

Merci de continuer la conversation si possible !

3 réponses
Avatar
Jean-Michel PERRIERE
Merci et quand on a des ligne vide, c'est a dire par exemple quand on a pas
de L4, mais je veux qu'elle pparaisse avec la valeur 0 !
Merci !!!

"Benoit Compoint" <benoitc@online.microsoft.com> a écrit dans le message de
news:eOHbjqGWDHA.3232@tk2msftngp13.phx.gbl...
> Bonjour,
>
> On peut effectivement y parvenir avec une seule requête (analyse croisée)
:
>
> TRANSFORM Sum(Table1.Prix) AS SumOfPrix
> SELECT Table1.ID
> FROM Table1
> GROUP BY Table1.ID
> PIVOT Table1.Ligne;
>
> Benoît Compoint.
>
> "Jean-Michel PERRIERE" <coconuts@genial.net> wrote in message
> news:uktq1lGWDHA.2544@tk2msftngp13.phx.gbl...
> > Bonjour, j'ai un table qui ressemble a ca !
> >
> > ---------------------------
> > Id---- Ligne ---- Prix ----
> > ----------------------------
> > 1---- L1 ------ 10 -----
> > 1----- L1 ------- 15 ----
> > 1---- L2 ------- 28 ----
> > 1----- L3 ------- 12 ------
> > 1----- L3 ------- 14 -----
> > 1---- L3 ------- 14 -----
> > ---------------------
> >
> > Et j'aimerai faire un requete qui sort ceci !
> >
> > --------------------------------------
> > -- id ------ L1 ----- L2 ------ L3 ----
> > --------------------------------------
> > -- 1 ------ 25 ------- 28 ----- 40 ----
> > -------------------------------------
> >
> > C'est a dire la somme des Lx regroupé !!!
> >
> > Je sais qu'on pourrai fire ca en plusieur requete, mais est ce qu'il n'y
> > aurai pas plus simple ?
> >
> > Merci pour la reponse !
> >
> >
>
>

3 réponses

Avatar
Anor
Bonjour Jean-Michel PERRIERE

en modifiant le titre de ta conversation, tu en a créé une autre !!
Donc il se peut que Benoît perde de vue la conversation initiale
(il dort de temps en temps comme tout le monde et intervient
sur de nombreux forums de discussion de la hiérarchie microsoft).

Rappelle toi également qu'un forum n'est pas une hotline.
Répondent les gens qui connaissent ou croient connaitre la réponse
à la question posée.

Or Benoit a répondu à la question posée.

Maintenant, si tu rajoutes une donnée (L4), il se peut que ton interlocuteur
ne connaisse pas la solution si le problème change ou en devient un autre.
Dans ce cas, si personne ne connait la réponse, personne n'est tenu de répondre.

En l'occurence, maintenant que tu as ta requête croisée,
parler de L4 alors que initialement on s'arrêtait à L3 est un nouveau problème.

Pour répondre à la question, il faudrait savoir jusqu'à L combien tu veux aller,
remplir une table avec les Lx qui te manquent et la valeur zéro en face,
car Access ne peut pas décider pour toi s'il s'arrête à L5 ou s'il s'arrête à
L 5 milliards.

Donc tu fais une table tblInit (structure udentique à Table1)
avec L1, L2, L3, L4, Lx = 0

Tu fais une requête union avec ta table1 :
select * from tblInit
union
select * from table1

Et pour terminer, ta requête croisée, au lieu de la baser sur Table1,
tu la fais par rapport à la RequeteUnion.

--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------

Jean-Michel PERRIERE a médité :
| Merci et quand on a des ligne vide, c'est a dire par exemple quand on
| a pas de L4, mais je veux qu'elle pparaisse avec la valeur 0 !
| Merci !!!
|
| "Benoit Compoint" a écrit dans le
| message de news:
|| Bonjour,
||
|| On peut effectivement y parvenir avec une seule requête (analyse
|| croisée)
||
||
|| TRANSFORM Sum(Table1.Prix) AS SumOfPrix
|| SELECT Table1.ID
|| FROM Table1
|| GROUP BY Table1.ID
|| PIVOT Table1.Ligne;
||
|| Benoît Compoint.
||
|| "Jean-Michel PERRIERE" wrote in message
|| news:
||| Bonjour, j'ai un table qui ressemble a ca !
|||
||| ---------------------------
||| Id---- Ligne ---- Prix ----
||| ----------------------------
||| 1---- L1 ------ 10 -----
||| 1----- L1 ------- 15 ----
||| 1---- L2 ------- 28 ----
||| 1----- L3 ------- 12 ------
||| 1----- L3 ------- 14 -----
||| 1---- L3 ------- 14 -----
||| ---------------------
|||
||| Et j'aimerai faire un requete qui sort ceci !
|||
||| --------------------------------------
||| -- id ------ L1 ----- L2 ------ L3 ----
||| --------------------------------------
||| -- 1 ------ 25 ------- 28 ----- 40 ----
||| -------------------------------------
|||
||| C'est a dire la somme des Lx regroupé !!!
|||
||| Je sais qu'on pourrai fire ca en plusieur requete, mais est ce
||| qu'il n'y aurai pas plus simple ?
|||
||| Merci pour la reponse !
Avatar
Jean-Michel PERRIERE
Merci bien et bonne nuit !

"Anor" <http://minilien.com/?8RfQLiXHOe> a écrit dans le message de
news:3f2ae21b$0$27913$
Bonjour Jean-Michel PERRIERE

en modifiant le titre de ta conversation, tu en a créé une autre !!
Donc il se peut que Benoît perde de vue la conversation initiale
(il dort de temps en temps comme tout le monde et intervient
sur de nombreux forums de discussion de la hiérarchie microsoft).

Rappelle toi également qu'un forum n'est pas une hotline.
Répondent les gens qui connaissent ou croient connaitre la réponse
à la question posée.

Or Benoit a répondu à la question posée.

Maintenant, si tu rajoutes une donnée (L4), il se peut que ton
interlocuteur

ne connaisse pas la solution si le problème change ou en devient un autre.
Dans ce cas, si personne ne connait la réponse, personne n'est tenu de
répondre.


En l'occurence, maintenant que tu as ta requête croisée,
parler de L4 alors que initialement on s'arrêtait à L3 est un nouveau
problème.


Pour répondre à la question, il faudrait savoir jusqu'à L combien tu veux
aller,

remplir une table avec les Lx qui te manquent et la valeur zéro en face,
car Access ne peut pas décider pour toi s'il s'arrête à L5 ou s'il
s'arrête à

L 5 milliards.

Donc tu fais une table tblInit (structure udentique à Table1)
avec L1, L2, L3, L4, Lx = 0

Tu fais une requête union avec ta table1 :
select * from tblInit
union
select * from table1

Et pour terminer, ta requête croisée, au lieu de la baser sur Table1,
tu la fais par rapport à la RequeteUnion.

--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------

Jean-Michel PERRIERE a médité :
| Merci et quand on a des ligne vide, c'est a dire par exemple quand on
| a pas de L4, mais je veux qu'elle pparaisse avec la valeur 0 !
| Merci !!!
|
| "Benoit Compoint" a écrit dans le
| message de news:
|| Bonjour,
||
|| On peut effectivement y parvenir avec une seule requête (analyse
|| croisée)
||
||
|| TRANSFORM Sum(Table1.Prix) AS SumOfPrix
|| SELECT Table1.ID
|| FROM Table1
|| GROUP BY Table1.ID
|| PIVOT Table1.Ligne;
||
|| Benoît Compoint.
||
|| "Jean-Michel PERRIERE" wrote in message
|| news:
||| Bonjour, j'ai un table qui ressemble a ca !
|||
||| ---------------------------
||| Id---- Ligne ---- Prix ----
||| ----------------------------
||| 1---- L1 ------ 10 -----
||| 1----- L1 ------- 15 ----
||| 1---- L2 ------- 28 ----
||| 1----- L3 ------- 12 ------
||| 1----- L3 ------- 14 -----
||| 1---- L3 ------- 14 -----
||| ---------------------
|||
||| Et j'aimerai faire un requete qui sort ceci !
|||
||| --------------------------------------
||| -- id ------ L1 ----- L2 ------ L3 ----
||| --------------------------------------
||| -- 1 ------ 25 ------- 28 ----- 40 ----
||| -------------------------------------
|||
||| C'est a dire la somme des Lx regroupé !!!
|||
||| Je sais qu'on pourrai fire ca en plusieur requete, mais est ce
||| qu'il n'y aurai pas plus simple ?
|||
||| Merci pour la reponse !




Avatar
Anor
Jean-Michel PERRIERE a espéré :
| Merci bien et bonne nuit !

à toi aussi ;-)

--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------