Requête Union ALL avec group by spécifique.

Signaler
Messages postés
12
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007
-
cs_juha
Messages postés
12
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007
-
Bonjour, J'ai le problème suivante avec ma requête union:


Ce que j'aimerais faire c'est de faire un groupe by sur mes 2 requêtes en même temps.


Mais il ne faut pas que le group by soit appliqué à la deuxième requête (La requête après le union all).


Pour être plus clair, dans ma 2ème requête j'ai des doublons que j'aimerais conserver. mais ce que j'aimerais faire c'est supprimer les doublons de la 1er à la 2ème requête.


voici ma requête:


SELECT CommandesLignesF.CodeAnalytique,
CommandesLignesF.CodeFournisseur,
CommandesLignesF.CodeArticle,
CommandesLignesF.QteValidee,
CommandesLignesF.PrixUnitaire


FROM CommandesLignesF
WHERE (((CommandesLignesF.CodeAnalytique)="41691M"));




UNION ALL
SELECT MouvementsStock.CodeAffaire,
 MouvementsStock.CodeFournisseur,
MouvementsStock.CodeArticle,
MouvementsStock.Quantite,
MouvementsStock.PrixU


FROM MouvementsStock
WHERE (((MouvementsStock.CodeAffaire)="41691M"));




Merci pour votre aide et j'espère que j'ai été assez clair.

2 réponses

Messages postés
436
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
8 octobre 2008
3
Bonjour,
SELECT CommandesLignesF.CodeAnalytique,
CommandesLignesF.CodeFournisseur,
CommandesLignesF.CodeArticle,
CommandesLignesF.QteValidee,
CommandesLignesF.PrixUnitaire

FROM CommandesLignesF
WHERE (((CommandesLignesF.CodeAnalytique)="41691M"));

group by  CommandesLignesF.CodeAnalytique,
CommandesLignesF.CodeFournisseur,
CommandesLignesF.CodeArticle,
CommandesLignesF.QteValidee,
CommandesLignesF.PrixUnitaire

UNION ALL
SELECT MouvementsStock.CodeAffaire,
 MouvementsStock.CodeFournisseur,
MouvementsStock.CodeArticle,
MouvementsStock.Quantite,
MouvementsStock.PrixU

FROM MouvementsStock
WHERE (((MouvementsStock.CodeAffaire)="41691M"));

Dom
Messages postés
12
Date d'inscription
jeudi 4 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007

Merci pour votre réponse.

Mais celà ne fonctionne toujours pas.

J'ai fais la requête suivante:

SELECT CommandesLignesF.CodeAnalytique AS Affaire,
CommandesLignesF.CodeArticle AS Code_Article,
Sum(CommandesLignesF.QteValidee) AS Quantite,
Avg(CommandesLignesF.PrixUnitaire) AS Prix

FROM CommandesLignesF
GROUP BY CommandesLignesF.CodeAnalytique, CommandesLignesF.CodeArticle, CommandesLignesF.PrixUnitaire
HAVING (((CommandesLignesF.CodeAnalytique)=[No Affaire:]));





UNION SELECT



MouvementsStock.CodeAffaire,
MouvementsStock.CodeArticle,
Sum(MouvementsStock.Quantite) AS Quantite,
Avg(MouvementsStock.PrixU) AS Prix
FROM MouvementsStock
GROUP BY MouvementsStock.CodeAffaire, MouvementsStock.CodeArticle, MouvementsStock.PrixU
HAVING (((MouvementsStock.CodeAffaire)=[No Affaire:]));

Mais le problème que j'ai c'est si les articles on des quantités différente, il ne se groupe pas.

Comment je peux faire pour résoudre ce problème?

D'avance merci.