bonjour à tous,
je suis bloqué sur la création de ma requête SQL.

J'ai une table fournisseur, une table produit et une table produit_fournisseur (un founisseur peut avoir plusieurs produit et un produit peut-etre chez plusieurs fournisseur
J'ai la requete suivante qui le liste mes produits par fournisseur
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
 
select
	mercuriale.IDMERCURIALE as ID,
	mercuriale.Designation as LIB,
	FOURNISSEUR.Raison_Sociale as RS,
	MERCURIALE_FOURNISSEUR.Prix as Prix
from
	mercuriale,
	MERCURIALE_FOURNISSEUR,
	FOURNISSEUR
where
	mercuriale.IDMERCURIALE = MERCURIALE_FOURNISSEUR.IDMERCURIALE
	and FOURNISSEUR.IDFOURNISSEUR = MERCURIALE_FOURNISSEUR.IDFOURNISSEUR
	and MERCURIALE.Desactive = 0
	and MERCURIALE_FOURNISSEUR.Prix <> 0
	and (MERCURIALE.IDMERCURIALE = 3 or MERCURIALE.IDMERCURIALE = 15)
Et j'obtiens le résultat suivant :
ID LIB RS PRIX
3 BABYBEL MINI 22G Fournisseur 1 0.325
3 BABYBEL MINI 22G Fournisseur 2 0.337
15 Camenbert Fournisseur 1 5.313
15 Camenbert Fournisseur 2 5.113

Ce que je souhaiterai obtenir c'est le résultat suivant. Pour chaque produit avoir le fournisseur qui me propose le tarif le plus bas (avec le nom du fournisseur) et celui qui me propose le tarif le plus élevé (avec le nom du fournisseur)
en sachant qu'il peut avoir de 1 à 5 fournisseurs par produit.

Et j'obtiens le résultat suivant :
ID LIB Fournisseur - PRIX - Fournisseur + PRIX +
3 BABYBEL MINI 22G Fournisseur 1 0.325 Fournisseur 2 0.337
15 Camenbert Fournisseur 2 5.113 Fournisseur 1 5.313

Est-ce possible de faire cela ?

J'arrive à obtenir un résultat proche avec cette requête mais sans pouvoir intégrer le fournisseur + et fournisseur -
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
22
23
24
25
26
select
	ID,
	LIB,
	Min(Prix) as M,
	Max(Prix) as P
from
(
select
	mercuriale.IDMERCURIALE as ID,
	mercuriale.Designation as LIB,
	FOURNISSEUR.Raison_Sociale as RS,
	MERCURIALE_FOURNISSEUR.Prix as Prix
from
	mercuriale,
	MERCURIALE_FOURNISSEUR,
	FOURNISSEUR
where
	mercuriale.IDMERCURIALE = MERCURIALE_FOURNISSEUR.IDMERCURIALE
	and FOURNISSEUR.IDFOURNISSEUR = MERCURIALE_FOURNISSEUR.IDFOURNISSEUR
	and MERCURIALE.Desactive = 0
	and MERCURIALE_FOURNISSEUR.Prix <> 0
	and (MERCURIALE.IDMERCURIALE = 3 or MERCURIALE.IDMERCURIALE = 15)
)
group by
	ID,
	LIB
ID LIB PRIX - PRIX +
3 BABYBEL MINI 22G 0.325 0.337
15 Camenbert 5.113 5.313