MySQL - 在计算中使用GROUP_CONCAT值?
问题描述:
我想创建一个查询,它会在一些折扣已经取消它的初始值后给我一个产品的价值。MySQL - 在计算中使用GROUP_CONCAT值?
这是我到目前为止的简化版本:
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
您可以发布示例数据和预期的结果? – piotrm 2011-05-27 15:36:14