如何找到合适的产品包以获取 PHP 或 MySQL 的以下结构?
我有2个存储产品包详细信息的表:
products_packages
products_package_id | package_title | package_description | package_offer_type | package_offer_value
products_packages_items
auto_id | products_package_id | products_id | package_offer_value | qty_min | qty_max
package_offer_type
% package_offer_value
10 如何减少每个产品包装项目的 10%金额? 如何找到最合适的产品套餐,为客户提供更多折扣?
我有购物车详细信息数组,其中包含订单产品详细信息。如何找到合适的产品包装?
[cart_details] => Array
(
[0] => Array
(
[product_id] => 1
[quantity] => 100
[price] => 10.00
[product_title] => Standard Business Cards
)
[1] => Array
(
[product_id] => 81
[quantity] => 100
[price] => 10.00
[product_title] => Metallic Business Cards
)
)
答案 0 :(得分:1)
我对你的问题的不体面是:
您在套餐中提供折扣。套餐包含多种产品的折扣。 当客户购买一组产品(购物车)时,您需要找到哪个折扣套餐将为客户带来最大价值。
为此,您需要计算应用于购物车的每个折扣套餐的节省。然后选择最大限度节省资金的套餐。如果几个包绑定 - 选择其中任何一个。
更新1。因为没有购物车表,我们会得到"购物车"从主要产品表中选择产品ID
select top 1 Package_id from (
select
Packages.Package_id,
Prod_id,
Quantity * Price * Packages.Discount as ProductDiscount
from Products
join PackgeItems on Products.Prod_id = PackageItems.Prod_id
join Packages on Packageitems.Package_id = Packages.Package_id
where Products.Prod_ID in ( <comma separated list of Prod_IDs from Array> )
)
group by Package_id
order by sum (ProductDiscount) Desc
您可以在中间添加一个或两个选择以进行测试。