У меня есть база данных, где у меня есть таблица для продуктов и таблица для импортеров продуктов. Я делаю систему сортировки на странице списка продуктов, сортировка по имени, цене и выпуску не была проблемой для меня. Но теперь я хотел бы также добавить сортировку по времени доставки. И это немного сложно, потому что сроки доставки зависят от нескольких разных вещей. Вот необходимые поля моих двух таблиц, что может просветить меня ситуация немного:Заказ списка товаров по времени доставки - кажется слишком сложным с таким количеством условий
products:
quantity
status
importer (id of product importer)
importers:
id
deliveryMin
deliveryMax
и ситуации доставки от самой быстрой до медленной:
Если количество продукта больше, чем 0 , это означает, что у нас есть это на складе, а срок поставки - 1-2 дня. В этой ситуации доставка самая быстрая.
Если количество 0, мы должны искать сроки доставки импортеров. Перед этим - статус должен быть проверен. Итак: если статус равен 1, импортер (помеченный в таблице продуктов в каждой строке продукта) имеет его на складе, а затем мы должны посмотреть таблицу импортеров для доставкиMin и deliveryMax. У разных импортеров может быть разная доставкаMin и deliveryMax, и это должно быть как-то тоже выглядеть. Поскольку продукты, имеющие статус 1, могут по-прежнему иметь разные сроки доставки, и они также должны быть отсортированы.
Если количество товаров равно 0, и состояние продукта равно 2, это значит, что у нас его нет на складе, и ни один из импортеров этого продукта на складе. Это самый медленный вариант доставки, 7-14 дней.
Этот способ слишком сложный для выполнения запроса MySQL? Как заказывать время доставки, если для этого не просто поле, но информация должна быть получена с использованием так много шагов.
Это было действительно легко скомпоновать PHP с просмотром страницы продукта, потому что есть только один продукт, и вам не нужно сравнивать его ни с чем.