Cześć, próbuję zliczyć wszystkie produkty z koszyka. Niestety pojawił się pewien problem. Niby wszystko się ładnie sumuje lecz gdy produkt jest promocją(czyli pobrano dla niego wartość z kolumny percent_promo to dzieją się dość dziwne rzeczy. Przy dodaniu np. 10 produktów danego produktu, przy ogólnym rozrachunku zawsze brakuje kilku groszy przy sumowaniu. Przy sumowaniu produktów, które nie są promocjami jest wszystko ok. Ma ktoś jakiś pomysł jak to zsumować?
SELECT b.id_product, b.product_price, c.percent_promo,
SUM(round(a.amount * b.product_price * (1 - COALESCE(c.percent_promo, 0) / 100), 2)) AS `end_price`
FROM `basket` AS `a`
JOIN products AS `b` ON b.id_product = a.product_id
LEFT JOIN promo AS `c` ON c.product_id = a.product_id
WHERE a.member_id = :member_id