Sélectionner 2 fois le meme champ mais avec 2 conditions différentes
cispo
Messages postés103Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention10 septembre 2007
-
30 janv. 2006 à 15:43
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 2010
-
6 févr. 2006 à 03:51
Bonjour,
Comme je l'ai mis dans le titre, je cherche à effectuer une requete qui sélectionne 2 fois le meme champs mais avec 2 conditions différentes.
Par exemple, si j'achète un produit à une date D1 et à un prix P1, et que je le revend à une autre date D2 et à un autre prix P2, quelle est la marge dégagée ?
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 6 févr. 2006 à 03:51
Salut cispo,
comme l'indique nhervagault, c'est faisable par requete.
Il nous manque le nom et la stuctures de tes tables. Donc, je vais supposer que tu stock tes achats dans acheté et se que tu vends dans vendu.
Selon se que tu veux obtenir, tu auras peut-être besoin de la quantitée.
Donc la requete serait
SELECT (vendu.prix - acheté.prix) * vendu.qté AS Marge
FROM acheté, vendu
WHERE acheté.NumProduit = vendu.NumProduit
AND vendu.NumProduit = xx ;
nb xx = l'identifiant de ton article
si tu stock tout dans une meme table : commande (buerk)
SELECT acheté.NumProduit,
(SUM(vendu.prix) - SUM(acheté.prix)) * vendu.qté AS Marge
FROM Commande AS acheté, Commande AS vendu
WHERE acheté.NumProduit = vendu.NumProduit
AND acheté.Clé <> vendu.Clé
GROUP BY acheté.NumProduit;
si tu emploies SUM(), il faudra en fin de requete mettre un group by(xx)
où xx, represente tout les autres champs que tu selectionnes (donc present dans ton select) à l'exception de ceux qui sont pris dans les parentheses du SUM() ou intervenant dans un calcul avec une fonction SQL : SUM(),AVG(),MIN(),MAX() ...
Pour faire simple, tous les entêtes de colones doivent être dans le GROUP BY sauf ceux qui sont définis par un SUM()