Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Regroupement requêtes

6 réponses
Avatar
JV
Bonjour,

J'ai la requête suivante

TRANSFORM Count([Statistiques].Client) AS CompteDeClient
SELECT [Statistiques].Année_facturation, Count([Statistiques].Client) AS
[Total de Client]

FROM [Statistiques]

GROUP BY [Statistiques].Année_facturation

PIVOT [Statistiques].Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);



Cette requête fait appel à la requête Statistiques



SELECT Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation

FROM Contrats

GROUP BY Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation;



Je voudrais regrouper ces 2 requêtes en une seule.

Comment faire ?



Merci d'avance

6 réponses

Avatar
Michel__D
Bonjour,

JV a écrit :
Bonjour,

J'ai la requête suivante

TRANSFORM Count([Statistiques].Client) AS CompteDeClient
SELECT [Statistiques].Année_facturation, Count([Statistiques].Client) AS
[Total de Client]

FROM [Statistiques]

GROUP BY [Statistiques].Année_facturation

PIVOT [Statistiques].Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);



Cette requête fait appel à la requête Statistiques



SELECT Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation

FROM Contrats

GROUP BY Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation;



Je voudrais regrouper ces 2 requêtes en une seule.

Comment faire ?



Merci d'avance




Essaye avec ceci :

TRANSFORM Count(R.Client) AS CompteDeClient
SELECT R.Année_facturation, Count(R.Client) AS [Total de Client]

FROM (SELECT DISTINCT T.Mois_facturation, T.Client, T.Année_facturation
FROM Contrats AS T) AS R

GROUP BY R.Année_facturation

PIVOT R.Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);
Avatar
JV
Les résultats ne sont pas corrects.
Par ailleurs, dans la requête Statistiques, il y avait un
GROUP BY Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation;
que tu n'as pas mis.
Si je le rajoute, les résultats ne sont pas plus corrects.


"Michel__D" a écrit dans le message de
news: #zscunY#
Bonjour,

JV a écrit :
> Bonjour,
>
> J'ai la requête suivante
>
> TRANSFORM Count([Statistiques].Client) AS CompteDeClient
> SELECT [Statistiques].Année_facturation, Count([Statistiques].Client) AS
> [Total de Client]
>
> FROM [Statistiques]
>
> GROUP BY [Statistiques].Année_facturation
>
> PIVOT [Statistiques].Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);
>
>
>
> Cette requête fait appel à la requête Statistiques
>
>
>
> SELECT Contrats.Mois_facturation, Contrats.Client,
> Contrats.Année_facturation
>
> FROM Contrats
>
> GROUP BY Contrats.Mois_facturation, Contrats.Client,
> Contrats.Année_facturation;
>
>
>
> Je voudrais regrouper ces 2 requêtes en une seule.
>
> Comment faire ?
>
>
>
> Merci d'avance
>

Essaye avec ceci :

TRANSFORM Count(R.Client) AS CompteDeClient
SELECT R.Année_facturation, Count(R.Client) AS [Total de Client]

FROM (SELECT DISTINCT T.Mois_facturation, T.Client, T.Année_facturation
FROM Contrats AS T) AS R

GROUP BY R.Année_facturation

PIVOT R.Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);

Avatar
JV
Mes excuses auprès de Michel__D.
Ma réponse précédente est erronée.

En rajoutant
GROUP BY Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation;
dans le FROM,
les résultats sont corrects.

Un grand merci.

"Michel__D" a écrit dans le message de
news: #zscunY#
Bonjour,

JV a écrit :
> Bonjour,
>
> J'ai la requête suivante
>
> TRANSFORM Count([Statistiques].Client) AS CompteDeClient
> SELECT [Statistiques].Année_facturation, Count([Statistiques].Client) AS
> [Total de Client]
>
> FROM [Statistiques]
>
> GROUP BY [Statistiques].Année_facturation
>
> PIVOT [Statistiques].Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);
>
>
>
> Cette requête fait appel à la requête Statistiques
>
>
>
> SELECT Contrats.Mois_facturation, Contrats.Client,
> Contrats.Année_facturation
>
> FROM Contrats
>
> GROUP BY Contrats.Mois_facturation, Contrats.Client,
> Contrats.Année_facturation;
>
>
>
> Je voudrais regrouper ces 2 requêtes en une seule.
>
> Comment faire ?
>
>
>
> Merci d'avance
>

Essaye avec ceci :

TRANSFORM Count(R.Client) AS CompteDeClient
SELECT R.Année_facturation, Count(R.Client) AS [Total de Client]

FROM (SELECT DISTINCT T.Mois_facturation, T.Client, T.Année_facturation
FROM Contrats AS T) AS R

GROUP BY R.Année_facturation

PIVOT R.Mois_facturation In (1,2,3,4,5,6,7,8,9,10,11,12);

Avatar
Michel__D
Re,

JV a écrit :
Mes excuses auprès de Michel__D.
Ma réponse précédente est erronée.

En rajoutant
GROUP BY Contrats.Mois_facturation, Contrats.Client,
Contrats.Année_facturation;
dans le FROM,
les résultats sont corrects.

Un grand merci.




Hum, vérifie mais normalement

SELECT DISTINCT T.Mois_facturation, T.Client, T.Année_facturation
FROM Contrats AS T;


devrait donner le même résultat que

SELECT Contrats.Mois_facturation,Contrats.Client,Contrats.Année_facturation
FROM Contrats
GROUP BY Contrats.Mois_facturation, Contrats.Client,Contrats.Année_facturation;
Avatar
JV
Non, cela ne donne pas le même résultat.
Je peux avoir plusieurs fois le même client (Contrats.Client) pour un
Mois_facturation donné et j'ai besoin de compter le nombre de clients.
C'est ce que permet GROUP BY ...


"Michel__D" a écrit dans le message de
news: eacywzd#
Re,

JV a écrit :
> Mes excuses auprès de Michel__D.
> Ma réponse précédente est erronée.
>
> En rajoutant
> GROUP BY Contrats.Mois_facturation, Contrats.Client,
> Contrats.Année_facturation;
> dans le FROM,
> les résultats sont corrects.
>
> Un grand merci.
>

Hum, vérifie mais normalement

SELECT DISTINCT T.Mois_facturation, T.Client, T.Année_facturation
FROM Contrats AS T;


devrait donner le même résultat que

SELECT


Contrats.Mois_facturation,Contrats.Client,Contrats.Année_facturation
FROM Contrats
GROUP BY Contrats.Mois_facturation,


Contrats.Client,Contrats.Année_facturation;
Avatar
Michel__D
Bonjour,

JV a écrit :
Non, cela ne donne pas le même résultat.
Je peux avoir plusieurs fois le même client (Contrats.Client) pour un
Mois_facturation donné et j'ai besoin de compter le nombre de clients.
C'est ce que permet GROUP BY ...



Donne quelques enregistrements pour étayer tes propos.