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
Et j'obtiens le résultat suivant :
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)
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
Partager