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 27 28 29 30 31 32 33 34 35
| SELECT p.id AS id_produit,
p.nom AS nom_produit,
p.description AS description_produit,
sc.id AS id_sous_categorie,
sc.nom AS nom_sous_categorie,
cat.id AS id_categorie,
cat.nom AS nom_categorie
car.reference AS reference_caracteristique,
car.texte AS texte_caracteristique,
t1.prix_mini
FROM produit p
INNER JOIN pivot_categorie_produit cp ON cp.id_produit = p.id
INNER JOIN sous_categorie sc ON sc.id = cp.id_sous_cat
INNER JOIN categorie AS cat ON cat.id = sc.id_parent
INNER JOIN
(
SELECT c.id_produit,
MIN(px.prix) AS prix_mini
FROM caracteristique c
INNER JOIN prix px ON px.id_caracteristique = c.id
GROUP BY c.id_produit
) t1 ON t1.id_produit = p.id
INNER JOIN
(
SELECT car.id AS id_caracteristique,
car.reference AS reference_caracteristique,
car.texte AS texte_caracteristique,
car.id_produit,
px2.prix
FROM caracteristique car
INNER JOIN prix px2 ON px2.id_caracteristique = car.id
) t2
ON t2.id_produit = t1.id_produit
AND t2.prix = t1.prix_mini
WHERE sc.id = :id_sous_categorie |
Partager