问题描述
|
我正在尝试创建一个查询,该查询将在从其初始值中扣除许多折扣后为我提供产品的值。
这是到目前为止的简化版本:
SELECT
p.price
GROUP_CONCAT(d.amount) AS discounts
FROM products p
LEFT OUTER JOIN discounts d
ON d.product_id = p.id
GROUP BY p.id
其中discounts.amount是一个十进制值。
编辑:例如,如果有两个相应的折扣分别为10和15,且初始产品价格为50,则计算将返回25
无论如何,查询中是否可以执行所需的计算?
任何建议将不胜感激。
谢谢。
解决方法
有一个SUM()方法:
SELECT p.price,p.price - COALESCE(SUM(d.amount),0) as discounted_price,GROUP_CONCAT(d.amount) AS discounts
FROM products p
LEFT OUTER JOIN discounts d
ON d.product_id = p.id
GROUP BY p.id