OVH Cloud OVH Cloud

2 requetes croisées en une? c possible?

6 réponses
Avatar
Florent Faivre
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les mêmes
champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs dans un
meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent

6 réponses

Avatar
Fred Pasc
Bonjour

Pour moi tu mets tes deux requêtes dans la même. Ensuite tu les relis avec
un where et enfin tu fais un group by nomClient (c'est du SQL)
Si j'ai bien compris ton problème ça devrait marcher.
Tiens moi au courant

A+
Fred

"Florent Faivre" a écrit dans le message de
news: d5qdgh$v5t$
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les mêmes
champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs dans un
meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent




Avatar
Fred Pasc
Ah oui, pour nommer tes colonnes (somme et compte) utilise un alias. Mets as
après ton calcul dans le select.
A+


"Fred Pasc" a écrit dans le message de news:
d5qe9b$vqr$
Bonjour

Pour moi tu mets tes deux requêtes dans la même. Ensuite tu les relis avec
un where et enfin tu fais un group by nomClient (c'est du SQL)
Si j'ai bien compris ton problème ça devrait marcher.
Tiens moi au courant

A+
Fred

"Florent Faivre" a écrit dans le message
de

news: d5qdgh$v5t$
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les mêmes
champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs dans un
meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent








Avatar
Florent Faivre
Ben... je ne comprends pas trop comment faire...
Parce que si je mets mes deux requetes d'analyse croisée dans une seule
requête, comment dois je faire?

Voici le code sql de mes requetes, si tu as 5min pour m'aider...

R1 (celle qui somme)
TRANSFORM Sum(Rq_Pascal_CP.P_PVDef) AS SommeDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;


R2: (celle qui compte)
TRANSFORM Count(Rq_Pascal_CP.P_PVDef) AS CompteDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;

Si tu peux m'aider... merci bcp

Florent



"Fred Pasc" a écrit dans le message de
news:d5qe9b$vqr$
Bonjour

Pour moi tu mets tes deux requêtes dans la même. Ensuite tu les relis avec
un where et enfin tu fais un group by nomClient (c'est du SQL)
Si j'ai bien compris ton problème ça devrait marcher.
Tiens moi au courant

A+
Fred

"Florent Faivre" a écrit dans le message
de

news: d5qdgh$v5t$
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les mêmes
champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs dans un
meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent








Avatar
Fred Pasc
Bonjour

Bon, je ne connais pas ni Transform ni Pivot que tu emploi dans ta requête
mais ce que je pensais faire c'était quelque chose comme:

SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total,
Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient;

Essaye toujours, j'espère que j'ai bien compris ce que tu voulais faire. Tu
peux toujours je pense rajouter ton Pivot et ton Transform (si tu pouvais me
dire à quoi ça sert aussi ...)

A+
Fred




"Florent Faivre" a écrit dans le message de
news: d5qkev$494$
Ben... je ne comprends pas trop comment faire...
Parce que si je mets mes deux requetes d'analyse croisée dans une seule
requête, comment dois je faire?

Voici le code sql de mes requetes, si tu as 5min pour m'aider...

R1 (celle qui somme)
TRANSFORM Sum(Rq_Pascal_CP.P_PVDef) AS SommeDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;


R2: (celle qui compte)
TRANSFORM Count(Rq_Pascal_CP.P_PVDef) AS CompteDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;

Si tu peux m'aider... merci bcp

Florent



"Fred Pasc" a écrit dans le message de
news:d5qe9b$vqr$
Bonjour

Pour moi tu mets tes deux requêtes dans la même. Ensuite tu les relis
avec


un where et enfin tu fais un group by nomClient (c'est du SQL)
Si j'ai bien compris ton problème ça devrait marcher.
Tiens moi au courant

A+
Fred

"Florent Faivre" a écrit dans le message
de

news: d5qdgh$v5t$
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les mêmes
champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs dans
un



meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent












Avatar
Florent Faivre
Bonjour Fred,

Transform et Pivot sont des arguments SQL pour créer une requete Analyse
croisée.
Donc ta requête est bien... mais elle ne me donne pas du tout ce que je veux
:-)

Voici mes données de départ :

Ville Type CA
v1 t1 100
v1 t2 200
v1 t3 150
v2 t1 10
v2 t2 1000
v2 t2 1
v3 t1 100

Une requete analyse croisée va me donner le résultat suivant, si je choisis
de prendre la somme de CA
t1 t2 t3
v1 100 200 150
v2 10 1001 0
v3 100 0 0

Mais tu peux aussi faire le compte de CA, qui te donne
t1 t2 t3
v1 1 1 1
v2 1 2 0
v3 1 0 0

Et moi ce que je voudrais, c'est associer ces deux resultats (somme et
compte) pour faire un joli tableau qui me donnerait:
t1 t2 t3
som cpte som cpte som cpte
v1 100 1 200 1 150 1
v2 10 1 1001 2 0 0
v3 100 1 0 0 0 0

Suis je clair?
Merci de ton aide en tout cas

Flo

"Fred Pasc" a écrit dans le message de
news:d5saso$t9j$
Bonjour

Bon, je ne connais pas ni Transform ni Pivot que tu emploi dans ta requête
mais ce que je pensais faire c'était quelque chose comme:

SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total,
Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient;

Essaye toujours, j'espère que j'ai bien compris ce que tu voulais faire.
Tu

peux toujours je pense rajouter ton Pivot et ton Transform (si tu pouvais
me

dire à quoi ça sert aussi ...)

A+
Fred




"Florent Faivre" a écrit dans le message
de

news: d5qkev$494$
Ben... je ne comprends pas trop comment faire...
Parce que si je mets mes deux requetes d'analyse croisée dans une seule
requête, comment dois je faire?

Voici le code sql de mes requetes, si tu as 5min pour m'aider...

R1 (celle qui somme)
TRANSFORM Sum(Rq_Pascal_CP.P_PVDef) AS SommeDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;


R2: (celle qui compte)
TRANSFORM Count(Rq_Pascal_CP.P_PVDef) AS CompteDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;

Si tu peux m'aider... merci bcp

Florent



"Fred Pasc" a écrit dans le message de
news:d5qe9b$vqr$
Bonjour

Pour moi tu mets tes deux requêtes dans la même. Ensuite tu les relis
avec


un where et enfin tu fais un group by nomClient (c'est du SQL)
Si j'ai bien compris ton problème ça devrait marcher.
Tiens moi au courant

A+
Fred

"Florent Faivre" a écrit dans le
message



de
news: d5qdgh$v5t$
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les
mêmes




champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs
dans




un
meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent
















Avatar
Fred Pasc
Bonjour,
Oui tu es beaucoup plus clair (à mes yeux en tout cas) et je peux pas
t'aider ... désolé
Bon courage.
A +
Fred


"Florent Faivre" a écrit dans le message de
news: d5sknh$3vm$
Bonjour Fred,

Transform et Pivot sont des arguments SQL pour créer une requete Analyse
croisée.
Donc ta requête est bien... mais elle ne me donne pas du tout ce que je
veux

:-)

Voici mes données de départ :

Ville Type CA
v1 t1 100
v1 t2 200
v1 t3 150
v2 t1 10
v2 t2 1000
v2 t2 1
v3 t1 100

Une requete analyse croisée va me donner le résultat suivant, si je
choisis

de prendre la somme de CA
t1 t2 t3
v1 100 200 150
v2 10 1001 0
v3 100 0 0

Mais tu peux aussi faire le compte de CA, qui te donne
t1 t2 t3
v1 1 1 1
v2 1 2 0
v3 1 0 0

Et moi ce que je voudrais, c'est associer ces deux resultats (somme et
compte) pour faire un joli tableau qui me donnerait:
t1 t2 t3
som cpte som cpte som cpte
v1 100 1 200 1 150 1
v2 10 1 1001 2 0 0
v3 100 1 0 0 0 0

Suis je clair?
Merci de ton aide en tout cas

Flo

"Fred Pasc" a écrit dans le message de
news:d5saso$t9j$
Bonjour

Bon, je ne connais pas ni Transform ni Pivot que tu emploi dans ta
requête


mais ce que je pensais faire c'était quelque chose comme:

SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total,
Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient;

Essaye toujours, j'espère que j'ai bien compris ce que tu voulais faire.
Tu

peux toujours je pense rajouter ton Pivot et ton Transform (si tu
pouvais


me
dire à quoi ça sert aussi ...)

A+
Fred




"Florent Faivre" a écrit dans le message
de

news: d5qkev$494$
Ben... je ne comprends pas trop comment faire...
Parce que si je mets mes deux requetes d'analyse croisée dans une
seule



requête, comment dois je faire?

Voici le code sql de mes requetes, si tu as 5min pour m'aider...

R1 (celle qui somme)
TRANSFORM Sum(Rq_Pascal_CP.P_PVDef) AS SommeDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Sum(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;


R2: (celle qui compte)
TRANSFORM Count(Rq_Pascal_CP.P_PVDef) AS CompteDeP_PVDef
SELECT Rq_Pascal_CP.NomClient, Count(Rq_Pascal_CP.P_PVDef) AS Total
FROM Rq_Pascal_CP
GROUP BY Rq_Pascal_CP.NomClient
PIVOT Rq_Pascal_CP.CP;

Si tu peux m'aider... merci bcp

Florent



"Fred Pasc" a écrit dans le message de
news:d5qe9b$vqr$
Bonjour

Pour moi tu mets tes deux requêtes dans la même. Ensuite tu les
relis




avec
un where et enfin tu fais un group by nomClient (c'est du SQL)
Si j'ai bien compris ton problème ça devrait marcher.
Tiens moi au courant

A+
Fred

"Florent Faivre" a écrit dans le
message



de
news: d5qdgh$v5t$
Bonjour à tous,

J'ai 2 requêtes croisées quasi identiques.
L'une me calcule une somme, et l'autre un compte. C'est donc les
mêmes




champs, seul la valeur calculée est différente.

Je voudrais d'une manière ou d'une autre mettre ces deux valeurs
dans




un
meme état.

Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Client1 150 200
Client2 200 270

Par exemple : pour le compte j'ai ca:
Bordeaux Nantes
Client1 1 5
Client2 3 12


J'aimerais au final obtenir le tableau suivant:
Par exemple : pour la somme j'ai ca:
Bordeaux Nantes
Somme Compte Somme Compte
Client1 150 1 200 5
Client2 200 3 270 12

Connaissez vous un moyen de réaliser ceci sous access??
Merci de votre réponse,

Florent