WHEN ' . DiscountType::FLAT . ' THEN ' . $price . ' - d.Amount
WHEN ' . DiscountType::PERCENT . ' THEN ' . $price . ' * (1 - d.Amount / 100)
ELSE ' . $price . '
- END, d.DiscountId
+ END, 4), d.DiscountId
FROM ' . TABLE_PREFIX . 'Products AS p
LEFT JOIN ' . TABLE_PREFIX . 'ProductsDiscountItems AS di ON (di.ItemResourceId = p.ResourceId) OR (di.ItemType = ' . DiscountItemType::WHOLE_ORDER . ')
LEFT JOIN ' . TABLE_PREFIX . 'ProductsDiscounts AS d ON (' . implode(') AND (', $join_clause) . ')
@@ -740,11 +740,11 @@
$sql = 'SELECT
MIN(
- CASE c.Type
+ ROUND(CASE c.Type
WHEN ' . CouponType::FLAT . ' THEN ' . $price . ' - c.Amount
WHEN ' . CouponType::PERCENT . ' THEN ' . $price . ' * (1 - c.Amount / 100)
ELSE ' . $price . '
- END
+ END, 4)
)
FROM ' . TABLE_PREFIX . 'Products AS p
LEFT JOIN ' . TABLE_PREFIX . 'ProductsCouponItems AS ci ON (ci.ItemResourceId = p.ResourceId) OR (ci.ItemType = ' . CouponItemType::WHOLE_ORDER . ')