Где лучше хранить цену со скидкой и дату окончания скидки для товаров в интернет-магазине? Вижу два варианта:
1. В самой таблице product, но тогда историю скидок сохранить не выйдет.
2. В отдельной таблице, в которой можно будет изменять статусы скидок, назначать сразу несколько скидок наперёд. Но тогда возникают сложности, к примеру с сортировкой по цене товаров с учётом скидок.
Или есть ещё какие варианты?
SELECT
product.price,
product.id,
product.slug,
discount.price,
IFNULL(discount.price, product.price) AS price_finish
FROM product
LEFT JOIN discount ON discount.id=(
SELECT MAX(discount.id)
FROM discount
WHERE discount.product_id=product.id
AND discount.status=1
)
WHERE product.status=1
ORDER BY price_finish DESC