Bonjour,
Ça fait quelques jours que je galère avec mon piètre niveau en mysql alors je viens vers vous en espérant que vous aurez une solution à mon problème.
J’ai trois tables:
Une table "produits" comportant les champs suivants:
--------------------------------
id_produit | designation |
---------------------------------
1 | pommes |
2 | poires |
3 | scoubidoubidou |
---------------------------------
une table "prix" comportant les champs suivants:
------------------------------------------------
id_prix | id_produit | prix | id_distributeur |
------------------------------------------------
1 | 2 | 3 | 1 |
2 | 3 | 2 | 3 |
3 | 1 | 2 | 2 |
------------------------------------------------
une table "distributeurs"
--------------------------------
id_distributeur | localisation |
--------------------------------
1 | 2 |
2 | 1 |
3 | 3 |
--------------------------------
Je souhaiterai afficher un tableau qui m’indique les derniers prix enregistrés par produit et par localisation
Voici ce que j’ai tenté (entres autres):
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT prix.id_distributeur, prix.produits, prix.prix, distributeurs.localisation, produits.id_produit FROM prix INNER JOIN produits ON produits.id_produit = prix.id_produit INNER JOIN (SELECT prix AS prix1 FROM prix INNER JOIN distributeurs ON (prix.id_distributeur = distributeur.id_distributeur AND distributeur.id_distributeur = 1) ORDER by id_prix DESC)) AS prixdistributeur1 INNER JOIN (SELECT prix AS prix2 FROM prix INNER JOIN distributeurs ON (prix.id_distributeur = distributeur.id_distributeur AND distributeur.id_distributeur = 1) ORDER by id_prix DESC)) AS prixdistributeur2 INNER JOIN (SELECT prix AS prix2 FROM prix INNER JOIN distributeurs ON (prix.id_distributeur = distributeur.id_distributeur AND distributeur.id_distributeur = 1) ORDER by id_prix DESC)) AS prixdistributeur3 GROUP BY prix.id_produit ";
Evidemment, ça ne marche pas du tout (on ne rigole pas), est-ce que vous pouvez m’aiguiller ?
Loïc
Partager