Réaliser une requête à partir de deux autres requêtes
chrys
-
chrys -
chrys -
Bonjour,
Je voudrais réaliser une requête à partir de deux autres requêtes préalablement créées; le but étant de trouver le stock final grâce aux quantités d'achat (Requete1) et aux quantités de vente (Requete2)
Ma requête 1 : SELECT Sum(Achats.quantitésA) AS [quantités achetées par produit], Produits.NomP
FROM Produits, Achats
WHERE (((Produits.CodeP)=[Achats].[CodeP]))
GROUP BY Produits.NomP;
Ma requête 2 : SELECT Sum(Ventes.QuantitésV) AS [quantités vendues par produit], Produits.NomP
FROM Produits, Ventes
WHERE (((Produits.CodeP)=[Ventes].[CodeP]))
GROUP BY Produits.NomP;
En gros je voudrais faire une soustraction : Requête 1 - Requête 2 . Mais quelles sont les normes sous Access, en langage SQL pour cela??
En vous remerciant d'avance de votre aide ...
Je voudrais réaliser une requête à partir de deux autres requêtes préalablement créées; le but étant de trouver le stock final grâce aux quantités d'achat (Requete1) et aux quantités de vente (Requete2)
Ma requête 1 : SELECT Sum(Achats.quantitésA) AS [quantités achetées par produit], Produits.NomP
FROM Produits, Achats
WHERE (((Produits.CodeP)=[Achats].[CodeP]))
GROUP BY Produits.NomP;
Ma requête 2 : SELECT Sum(Ventes.QuantitésV) AS [quantités vendues par produit], Produits.NomP
FROM Produits, Ventes
WHERE (((Produits.CodeP)=[Ventes].[CodeP]))
GROUP BY Produits.NomP;
En gros je voudrais faire une soustraction : Requête 1 - Requête 2 . Mais quelles sont les normes sous Access, en langage SQL pour cela??
En vous remerciant d'avance de votre aide ...
A voir également:
- Réaliser une requête à partir de deux autres requêtes
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
4 réponses
Pardon, j'ai omis un détail (il était un peu tard ;-), la requête correcte est :
SELECT P.NomP, (( SELECT SUM(A.quantitésA) FROM Achats AS A WHERE A.CodeP=P.CodeP ) - ( SELECT SUM(V.QuantitésV) FROM Ventes AS V WHERE V.CodeP=P.CodeP )) AS StockP FROM Produits AS P
Ceci devrait fonctionner :
SELECT P.NomP, (( SELECT COUNT(*) FROM Achats AS A WHERE A.CodeP=P.CodeP ) - ( SELECT COUNT(*) FROM Ventes AS V WHERE V.CodeP=P.CodeP )) AS StockP FROM Produits AS P
Merci pour la rapidité de la réponse. Cependant votre requête proposée ne fonctionne pas, enfin sa mise ne oeuvre fonctionne mais les résultats indiqués ne sont pas bon. =S
J'ai refais mes deux premières requêtes(car il manquait la notion de date) Elles fonctionnent parfaitement, Ce qui me donne :
Requête 1 : SELECT Produits.NomP, Sum(quantitésA) AS [quantités achetés]
FROM Produits, Achats
WHERE Produits.CodeP=Achats.CodeP And dateA<#10/8/2009#
GROUP BY Produits.NomP;
Requête 2 : SELECT Produits.NomP, Sum(quantitésV) AS [quantités vendues]
FROM Ventes, Produits
WHERE Ventes.CodeP=Produits.CodeP And DateV<#10/8/2009#
GROUP BY Produits.NomP;
Suivant ce que je veux faire, n'est ce pas possible de faire quelque chose du genre :
SELECT Produits.NomP
FROM Requête 1, Requête 2
WHERE Requête1-Requête 2
GROUP BY Produits.NomP ??
Ou suis je obligé de répéter les termes des deux requêtes ?
J'ai été sur divers forums et je n'ai rien trouvé :s:s
Merci pour l'aide ... le langage SQL est capricieux !!!!!!
J'ai refais mes deux premières requêtes(car il manquait la notion de date) Elles fonctionnent parfaitement, Ce qui me donne :
Requête 1 : SELECT Produits.NomP, Sum(quantitésA) AS [quantités achetés]
FROM Produits, Achats
WHERE Produits.CodeP=Achats.CodeP And dateA<#10/8/2009#
GROUP BY Produits.NomP;
Requête 2 : SELECT Produits.NomP, Sum(quantitésV) AS [quantités vendues]
FROM Ventes, Produits
WHERE Ventes.CodeP=Produits.CodeP And DateV<#10/8/2009#
GROUP BY Produits.NomP;
Suivant ce que je veux faire, n'est ce pas possible de faire quelque chose du genre :
SELECT Produits.NomP
FROM Requête 1, Requête 2
WHERE Requête1-Requête 2
GROUP BY Produits.NomP ??
Ou suis je obligé de répéter les termes des deux requêtes ?
J'ai été sur divers forums et je n'ai rien trouvé :s:s
Merci pour l'aide ... le langage SQL est capricieux !!!!!!