Bonjour,
je travaille sur une application de gestion de stock. sur la table mouvement de stock j'ai les champs suivants: code_mouvement, code_produit, solde, date_mouvement. la deuxième table et celle de listes des produits où j'ai les champs: code_produit, produit, seuil.
ma requête consiste à trouver pour chaque produit le solde a une date donnée; je cherche alors le max de la date qui est <= à la date choisie, puis entre ces dates la je cherche le max(code_mouvement)
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT seuil, suivi_stockengrais.solde, suivi_stockengrais.cmup, req1.produit, req1.Max_mouvement
FROM ((SELECT req2.produit, max(req2.code_mouvement) AS Max_mouvement FROM (SELECT listengrais.produit, suivi_stockengrais.code_mouvement, Max(suivi_stockengrais.date_mouvement) AS mvt FROM suivi_stockengrais INNER JOIN listengrais ON suivi_stockengrais.code_produit=listengrais.code_produit WHERE ((suivi_stockengrais.date_mouvement)<=#02/23/2008#) GROUP BY listengrais.produit, suivi_stockengrais.code_mouvement)AS req2 GROUP BY req2.produit)  AS req1 INNER JOIN suivi_stockengrais ON req1.max_mouvement=suivi_stockengrais.code_mouvement) INNER JOIN listengrais ON suivi_stockengrais.code_produit=listengrais.code_produit;
la requête donne un résultat faux. quelqu'un aurait il une idée ?
Comment faire une requête avec deux max?