Bonjour,
J'essaie de puis hier a trouver la solution pour une requete assez complexe mais j'y arrive pas
j'ai 2 tables relationnelles:
j'ai construit une requete SQL pour afficher tous les produits les moins chers groupé par id_prod. dans cette requete je recupere aussi l'id_prod_ref du produit le moins cher.
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 products: id_prod, id_theme, name ------------------------------------------ 10 101 Produit 1 11 101 Produit 2 products_references: id_prod, id_prod_ref, id_size, id_color, price, discount ------------------------------------------------------------------ 10 101 10 10 15.00 5 10 102 10 11 15.00 5 10 103 11 10 15.00 0 10 104 12 10 15.00 0 ...
Tout marche bien, sauf lorsque je rajoute un COUNT(DISTINCT id_size) et COUNT(DISTINCT id_color) pour connaitre le nombre de tailles et couleurs dispo pour chaque produit.
Voici ma requette sql:
Auriez vous SVP une idee de ce qui ne va pas dans cette requete?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT p.name, pr.id_prod, pr.id_prod_ref, pr.price AS price_org, pr.price * (1 - (pr.discount / 100)) AS price, COUNT(DISTINCT pr.id_size) AS num_sizes, COUNT(DISTINCT pr.id_color) AS num_colors FROM products_references AS pr INNER JOIN (SELECT id_prod, MIN(price * (1 - (discount / 100))) AS price_final FROM products_references GROUP BY id_prod) AS pr2 ON pr.id_prod = pr2.id_prod INNER JOIN products AS p ON p.id_prod = pr.id_prod INNER JOIN brands AS b ON b.id_brand = p.id_brand WHERE pr.price * (1 - (pr.discount / 100)) = pr2.price_final AND p.id_theme = 101 GROUP BY pr.id_prod ORDER BY p.name
MErci par avance
Partager