Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Sélectionner 2 fois le meme champ mais avec 2 conditions différentes [ Archives / Problème avec une requête ] (cispo)

lundi 30 janvier 2006 à 15:43:50 | Sélectionner 2 fois le meme champ mais avec 2 conditions différentes

cispo

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 ?

Cela est-il possible ?

Merci d'avance,

mardi 31 janvier 2006 à 20:15:58 | Re : Sélectionner 2 fois le meme champ mais avec 2 conditions différentes

nhervagault

Administrateur CodeS-SourceS
Salut

Une piste pour cela il faut faire une jointure de la table sur elle même

exemple

select *, sum(a.prix) - sum(b.prix) as marges
from commande a, commande b
where
a.cle <> b.cle
and
a.produit = b.produit
order by a.dateachat

--peut etre un group by est nécessaire
mais en gros voila l'idée.

elle doit fonctionner.

lundi 6 février 2006 à 03:51:31 | Re : Sélectionner 2 fois le meme champ mais avec 2 conditions différentes

Zlub

Membre Club

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()



++

Zlub



Cette discussion est classé dans : date, champ, différentes, sélectionner, conditions


Répondre à ce message

Sujets en rapport avec ce message

difficulté avec ma requete [ par blackout ] Bonjour,Je rencontre une petite difficulté avec une requete sql.J'ai 2 champs Nom et Date.Le champ Date correspond à la date de création d'un NomJ'ess Exécuter une action quand un champ date=now [ par julius06 ] Bonjour,J'ai une table avec un champ 'Dateecheance' et j'aimerai que SQLServeur déclenche une action dès qu'un enregistrement à une 'Dateecheance' éga Calculer des différences sous certaines conditions [ par JoeyBlack ] Bonjour J'ai une table de type : date Date, valeur Float. J'aimerai créer une nouvelle table contenant le même type de champs : date Date, valeur2 Flo alias d'un champ [ par gigawatt ] BonjourQuelqu'un peut il apporter sa contribution svp:En fait j'explique: dans ma base faite sous foxpro en 198x ,j'ai un champ qui a comme nom ct_dte Transformation champ date [ par matmat86 ] Bonjour,j'ai un champ date sous SQL Server du type 2007-05-03 10:50:33 que je voudrais transformer en 2007-05-00 00:00:00Quelqu'un sait-il comment fai probleme fonctions sur un meme champ mais avec conditions differentes [ par cudenetf ] Bonjour,j'aimerais savoir comment faire (si c'est possible en une seul requete) deux sommes (par exemple) d'une meme colonne avec des "condtions" diff bonjour pourquoi ma requete ne fonctionne pas [ par fouedk2 ] bonjour, j'ai fais les test mon probleme vient de $dep qui lorsque il passe en decimal ma reque retourne 0 voila ma requete $sql = "SELECT deplacem probleme d'execution d'une requette [ par beny100 ] salut à tous,j'ai un gros problème.en effet j'ai une procedure stockée qui me retourne en principe 60 lignes.mais quant je l'execute , par moment elle Enregistrement suivant [ par Farfadh ] Je souhaite connaitre l'enregistrement suivant à partir d'un enregistrement donné selon un ordre chronologique. Le problème parait être simple, mais e requette sur date [ par beny100 ] salut a tous,j'ai un blem avec ma requette.en effet elle est en varchar.mais quant j'execute une requette sur la date avec between elle ne passe pas. 


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.