【发布时间】:2018-08-23 15:15:48
【问题描述】:
我如何通过 product_id 对transactions 进行查询,但我需要单独显示带有选项的产品。
例如在表中transactions 如果我有:
ProductID Quantity Price
1 1 10
1 1 10
1 1 15 (in transaction_options this has option green(price 2,5),yellow(price 2,5))
1 1 15 (in transaction_options this has option red(price 2,5),blue(price 2,5))
我希望结果是:
ProductID Quantity Price
1 2 10
1 1 15 (this has option red(price 2,5),blue(price 2,5))
1 1 15 (this has option green(price 2,5),yellow(price 2,5))
问题是它们都有相同的product_id,价格可以相同但选项不同。
这是表格结构:
products 与 id,name,price
options 与 id,name,price
transactions 与 id,product_id,quantity,price
transaction_options 和 id,transaction_id,option_id(transactions 和 options 之间的关联表
在transactions 中,我插入基于选项计算的price(如果有的话):
product.price+[option.price] = transaction.price
【问题讨论】:
-
那么一个产品可以有一个基础价格和4个期权价格?并且期权价格总是一样的?并且您的交易数量只有 1?我认为您需要添加更多细节,包括来自产品和选项的示例数据作为入门。
-
期权可以无限,期权价格也不一样。我的示例中的选项价格相同,表明我不能
groupByprice,因为可能有不同的选项。 -
我不相信这是可能的,因为底价 * 数量的组合可能会产生与底价 + 期权价格 * 数量相同的值。
标签: mysql group-by junction-table