Pour résumer, mon objectif est d'alimenter une table (donc en insert ) de
toutes les lignes des commandes d'achats dont le type est <commande
normale>, dont le prix de la lignes est de + 20% du meilleur prix d'achat de
par an (depuis que la pièce est commandée).
en gros voici un exemple :
Article : 0131012050
Désignation : Vis hm 12x50 brut
Qté cdée : 500
Prix de commande : 3 ? unitaire
Meilleur prix 2006 : 2 ? unitaire
Meilleur prix 2005 : -
Meilleur prix 2004 : 1,56 ? unitaire
Meilleur prix 2000 : 4 ? unitaire
A partir du moment ou une année je l'ai acheté moins chère de 20% il
m'affiche tous les prix de chaque année depuis que la pièce est commandée.
L'idée est de pouvoir dire a un acheteur, attention, ta pièce tu l'as déja
acheté moins chère en telle année, et voici les prix des autres années (pour
voir les tendances du marché)
Si quelqu'un a une idée ? sachant qu'il s'agit d'une table achat classique
ou j'ai toutes les données nécessaires.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian Robert
Oui, c'est compliqué mais pas infaisable... La structure de la table aiderait un peu, enfin voilà :
SELECT .... FROM MaTable AS T1 WHERE NOT EXISTS (SELECT * FROM MaTable AS T2 WHERE T1.Monprix > T2.Monprix AND T1.Monannee = T2.Monannee) AND T1.Monannee = 2006
Le principe est celui-ci : - On exclue tous les enregistrements dont le prix est supérieur au notre, donc on renvoie le meilleur prix de l'année... au besoin il faut ajouter des choses dans le WHERE de la sous requête et de la requête principale.
Sinon en faisant appel à un TOP celà pourrait aussi se faire, ou via un MIN s'il ne faut pas récupérer tout l'enregistrement complet.
-- Cordialement
Christian Robert Consultant - Formateur chez Winwise MCT - MCDBA - MCSD MCTS & MCITP SQL Server 2005
"laurent" a écrit :
Bonjour à tous,
Pour résumer, mon objectif est d'alimenter une table (donc en insert ) de toutes les lignes des commandes d'achats dont le type est <commande normale>, dont le prix de la lignes est de + 20% du meilleur prix d'achat de par an (depuis que la pièce est commandée).
en gros voici un exemple :
Article : 0131012050 Désignation : Vis hm 12x50 brut Qté cdée : 500 Prix de commande : 3 ? unitaire Meilleur prix 2006 : 2 ? unitaire Meilleur prix 2005 : - Meilleur prix 2004 : 1,56 ? unitaire Meilleur prix 2000 : 4 ? unitaire
A partir du moment ou une année je l'ai acheté moins chère de 20% il m'affiche tous les prix de chaque année depuis que la pièce est commandée. L'idée est de pouvoir dire a un acheteur, attention, ta pièce tu l'as déja acheté moins chère en telle année, et voici les prix des autres années (pour voir les tendances du marché)
Si quelqu'un a une idée ? sachant qu'il s'agit d'une table achat classique ou j'ai toutes les données nécessaires.
Oui, c'est compliqué mais pas infaisable... La structure de la table aiderait
un peu, enfin voilà :
SELECT ....
FROM MaTable AS T1
WHERE NOT EXISTS
(SELECT *
FROM MaTable AS T2
WHERE T1.Monprix > T2.Monprix
AND T1.Monannee = T2.Monannee)
AND T1.Monannee = 2006
Le principe est celui-ci :
- On exclue tous les enregistrements dont le prix est supérieur au notre,
donc on renvoie le meilleur prix de l'année... au besoin il faut ajouter des
choses dans le WHERE de la sous requête et de la requête principale.
Sinon en faisant appel à un TOP celà pourrait aussi se faire, ou via un MIN
s'il ne faut pas récupérer tout l'enregistrement complet.
--
Cordialement
Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD
MCTS & MCITP SQL Server 2005
"laurent" a écrit :
Bonjour à tous,
Pour résumer, mon objectif est d'alimenter une table (donc en insert ) de
toutes les lignes des commandes d'achats dont le type est <commande
normale>, dont le prix de la lignes est de + 20% du meilleur prix d'achat de
par an (depuis que la pièce est commandée).
en gros voici un exemple :
Article : 0131012050
Désignation : Vis hm 12x50 brut
Qté cdée : 500
Prix de commande : 3 ? unitaire
Meilleur prix 2006 : 2 ? unitaire
Meilleur prix 2005 : -
Meilleur prix 2004 : 1,56 ? unitaire
Meilleur prix 2000 : 4 ? unitaire
A partir du moment ou une année je l'ai acheté moins chère de 20% il
m'affiche tous les prix de chaque année depuis que la pièce est commandée.
L'idée est de pouvoir dire a un acheteur, attention, ta pièce tu l'as déja
acheté moins chère en telle année, et voici les prix des autres années (pour
voir les tendances du marché)
Si quelqu'un a une idée ? sachant qu'il s'agit d'une table achat classique
ou j'ai toutes les données nécessaires.
Oui, c'est compliqué mais pas infaisable... La structure de la table aiderait un peu, enfin voilà :
SELECT .... FROM MaTable AS T1 WHERE NOT EXISTS (SELECT * FROM MaTable AS T2 WHERE T1.Monprix > T2.Monprix AND T1.Monannee = T2.Monannee) AND T1.Monannee = 2006
Le principe est celui-ci : - On exclue tous les enregistrements dont le prix est supérieur au notre, donc on renvoie le meilleur prix de l'année... au besoin il faut ajouter des choses dans le WHERE de la sous requête et de la requête principale.
Sinon en faisant appel à un TOP celà pourrait aussi se faire, ou via un MIN s'il ne faut pas récupérer tout l'enregistrement complet.
-- Cordialement
Christian Robert Consultant - Formateur chez Winwise MCT - MCDBA - MCSD MCTS & MCITP SQL Server 2005
"laurent" a écrit :
Bonjour à tous,
Pour résumer, mon objectif est d'alimenter une table (donc en insert ) de toutes les lignes des commandes d'achats dont le type est <commande normale>, dont le prix de la lignes est de + 20% du meilleur prix d'achat de par an (depuis que la pièce est commandée).
en gros voici un exemple :
Article : 0131012050 Désignation : Vis hm 12x50 brut Qté cdée : 500 Prix de commande : 3 ? unitaire Meilleur prix 2006 : 2 ? unitaire Meilleur prix 2005 : - Meilleur prix 2004 : 1,56 ? unitaire Meilleur prix 2000 : 4 ? unitaire
A partir du moment ou une année je l'ai acheté moins chère de 20% il m'affiche tous les prix de chaque année depuis que la pièce est commandée. L'idée est de pouvoir dire a un acheteur, attention, ta pièce tu l'as déja acheté moins chère en telle année, et voici les prix des autres années (pour voir les tendances du marché)
Si quelqu'un a une idée ? sachant qu'il s'agit d'une table achat classique ou j'ai toutes les données nécessaires.