bonjour

Je vous soumet mon problème :

J'ai deux requêtes qui fonctionnent séparément :
La première me permet de lister les matériel en stock pour une quantité supérieur à zéro en calculant la valeur d'achat et la valeur de mon stock.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
select   
	a.consumable_nomination,
	(b.SumInput - c.SumOutput) As stock,
	((d.stock_movement_unit_price/d.stock_movement_quantity)*(b.SumInput - c.SumOutput)) as 'valeur stock',
	(d.stock_movement_unit_price/d.stock_movement_quantity) as 'prix achat'
	from consumable a join 	_entry_conso b 
on b.id_consumable=a.id_consumable
join _exit_conso c
on c.id_consumable=a.id_consumable
join consumable_stock_movement e 
on b.id_consumable=e.id_consumable
join stock_movement d
on d.id_stock_movement=e.id_stock_movement
where (b.SumInput - c.SumOutput)> 0 and d.stock_movement_quantity<>0
group by e.id_consumable,
	a.consumable_nomination,
	a.consumable_nomination,
	a.consumable_name,
	(d.stock_movement_unit_price/d.stock_movement_quantity),
	(b.SumInput - c.SumOutput),
	(d.stock_movement_unit_price*(b.SumInput - c.SumOutput))
La deuxième me permet de récupérer la valeur max de mes entrées pour ne prendre que celle-là comme valeur de mon stock.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select  max(d.stock_movement_unit_price),
		e.id_consumable
from stock_movement d join consumable_stock_movement e
on d.id_stock_movement=e.id_stock_movement
group by e.id_consumable
La première requète me renvoit toutes les valeurs dont le stock est > 0
Nom : angélique.PNG
Affichages : 185
Taille : 3,3 Ko

Je souhaiterais qu'il ne prenne en compte que celle qui a la valeur la plus haute. Je bloque sur ma requête imbriqué qui va lui dire de ne prendre que le prix le plus haut.

Je vous joint les différentes tables concernés
Nom : structure.PNG
Affichages : 718
Taille : 46,0 Ko

Je vous remercie de votre aide