Salut,
Sur SQL Server, j'aurai tenté un truc dans ce genre :
SELECT M1.Produit, M1.Prix, MIN(M1.Date)
FROM MATABLE M1
INNER JOIN
(
SELECT M2.Produit Pro2, MIN(M2.Prix) Pri2
FROM MATABLE M2
GROUP BY M2.Produit
)
DRV ON DRV.Pro2 = M1.Produit AND DRV.Pri2 = M1.Prix
GROUP BY M1.Produit, M1.Prix
Je n'ai pas d'environnement de test, mais à mon avis tu seras obligé de passer par une sous requete...
Ici, on sort donc dans la requête principale le produit, le prix minimum et la date minimum du produit à ce prix, puisque la jointure est faire sur le produit et le prix minimum. Le MIN(Date) permet d'éliminer la possibilité que tu aies plusieurs fois le produit au même prix et que ça retourne n'importe lequel...
Je sais que cette syntaxe est à priori valide sous SQL Server,
Bon courage,