如何在此查询中求和产品价格

时间:2019-07-10 13:15:31

标签: mysql sql sum

我有一个查询

SELECT SUM(product.price)
FROM cart, product
WHERE cart.idUser = :idUser AND cart.idProduct = product.id

如果某人以一个订单购买了2个相同的产品,则此查询的总和仅为价格的1倍。 例如:订购的3个相同商品= 3 * 10 $,查询仅返回10 $

如果有人购买了2种不同的产品,则查询效果很好。 例如:2个不同的商品= 1 * 5 $和1 * 10 $,查询返回15 $

我有这些表:

  1. 用户

  2. 具有列数的订单:id,idUser,值

  3. 带有列数的购物车:idUser,idProduct,数量

  4. 带有列数的产品:id,名称,价格

1 个答案:

答案 0 :(得分:2)

价格乘数量

SELECT SUM(quantity * product.price)
FROM cart c
JOIN product p ON c.idProduct = p.id
WHERE cart.idUser = :idUser 

并在上述查询中使用现代JOIN