我有一个查询
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 $
我有这些表:
用户
具有列数的订单:id,idUser,值
带有列数的购物车:idUser,idProduct,数量
带有列数的产品:id,名称,价格
答案 0 :(得分:2)
价格乘数量
SELECT SUM(quantity * product.price)
FROM cart c
JOIN product p ON c.idProduct = p.id
WHERE cart.idUser = :idUser
并在上述查询中使用现代JOIN