Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requete super compliquée

1 réponse
Avatar
laurent
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.

1 réponse

Avatar
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.