选择查询返回所有表数据而不处理where子句

时间:2019-06-24 08:41:21

标签: mysql

表(TBL_Details)存储在CartID之后 ,ProductID和大量产品。 表(TBL_Product)存储产品信息,例如:名称和价格。

我很麻烦,因为where子句不限制显示的数据,而是显示表中所有项目的总和。

我尝试更改where子句,但是没有运气。

  

从“ PriceTBL_Details开始,以“总价”作为SELECT SUM(TBL_Product)   CartID = 1;

预期输出:

  

从“ PriceTBL_Details开始,以“总价”作为SELECT SUM(TBL_Product)   CartID = 1;

     

总价格:200

3 个答案:

答案 0 :(得分:1)

假设TBL_Product也包含ProductID:

SELECT SUM(Price) AS 'Total Price' 
FROM TBL_Details JOIN TBL_Product ON TBL_Product.ProductID=TBL_Details.ProductID
WHERE CartID = 1;

应输出CartID 1内所有产品的总和。 如果我错了请纠正我

答案 1 :(得分:0)

根据我的推断。您首先需要将两个表与一个ID链接在一起。

SELECT SUM(Price) AS 'Total Price' FROM TBL_Details a, TBL_Product b WHERE 
a.ProductID = b.ProductID AND
CartID = 1;

答案 2 :(得分:0)

您应该join并在查询中应用group by

SELECT *, SUM(TBL_Product.price) as totalPrice
FROM TBL_Details 
LEFT JOIN TBL_Product ON TBL_Product.id = TBL_Details.ProductID
GROUP BY TBL_Details.CartID