我遇到了一个需要帮助解决的问题。我并没有要求任何人提供代码,只是帮助我把它想象成一种适用于MySQL的方式,因为我的MySQL技能非常非常有限。
我们正在尝试创建一个可以通过PHP调用的产品数据库。我没有问题为层定价设置数据库EXCEPT。有些产品将从100开始,并且有多个价格突破到5,000,而其他产品可能从10开始,只有100。所以,执行此操作的最佳方式是什么,可以从PHP循环中调用以插入它作为HTML表格进入页面。
到目前为止我的数据库是:
ProductID, ProductName, ProductImage, ProductImage2, ProductImage3, ProductImage4, ProductDescription, ProductMisc, ProductPricing (this is where I need help).
我是否需要创建一个单独的表,通过具有数量和价格的ProuctID进行链接?任何帮助将不胜感激。
答案 0 :(得分:2)
使用定价表:
ItemQuantityPrices (priceID, itemID, minQuantity, maxQuantity, price)
e.g。
Apples:
1-100, $5.00 each -> (1, apples, 1, 100, $5.00)
101-250, $4.50 each -> (2, apples, 101, 250, $4.50)
251-300, $4.00 each -> (3, apples, 251, 300, $4.00)
你的查询是,如果“如果我购买252会是多少苹果?”:
SELECT price
FROM ItemQuantityPrices
WHERE itemID = 'apples'
AND 252 BETWEEN minQuantity AND maxQuantity
--> $4.00
或者,“如果我想支付4.75美元或更少,我必须购买多少苹果?”
SELECT minQuantity, maxQuantity
FROM ItemQuantityPrices
WHERE itemID = 'apples'
AND price <= $4.75
ORDER BY price DESC
LIMIT 1
--> 101, 250