MySQL层定价结构

时间:2014-08-05 21:55:22

标签: mysql

我遇到了一个需要帮助解决的问题。我并没有要求任何人提供代码,只是帮助我把它想象成一种适用于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进行链接?任何帮助将不胜感激。

1 个答案:

答案 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