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

Mysql 选择“返回所有表数据而不处理where子句的查询”,mysql,Mysql,表B\u CartID后的详细信息存储 ,ProductID和一批产品。 TableTBL_产品存储产品信息,例如:名称和价格 我遇到了麻烦,因为where子句没有限制显示的数据,而是显示表中所有项目的总和 我试过修改where子句,但没有成功 从TBL_详情、TBL_产品中选择SUMPrice作为“总价” 其中CartID=1 预期产出: 从TBL_详情、TBL_产品中选择SUMPrice作为“总价” 其中CartID=1 总价:200 根据我的推断。您需要首先使用ID将这两个表链接在一起 S

表B\u CartID后的详细信息存储 ,ProductID和一批产品。 TableTBL_产品存储产品信息,例如:名称和价格

我遇到了麻烦,因为where子句没有限制显示的数据,而是显示表中所有项目的总和

我试过修改where子句,但没有成功

从TBL_详情、TBL_产品中选择SUMPrice作为“总价” 其中CartID=1

预期产出:

从TBL_详情、TBL_产品中选择SUMPrice作为“总价” 其中CartID=1

总价:200


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

SELECT SUM(Price) AS 'Total Price' FROM TBL_Details a, TBL_Product b WHERE 
a.ProductID = b.ProductID AND
CartID = 1;
假设TBL_产品也包含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内所有产品的总和。 如果我错了请更正

您应该加入并在查询中应用group by

选择*,SUMTBL_Product.price作为总价 来自TBL_详细信息 在TBL_Product.id=TBL_Details.ProductID上左键加入TBL_产品 按TBL_Details.CartID分组
因此,您需要价格的总和取决于购物车Id?您可以使用group by和HAVE。是的,价格来自表product,cartID来自存储了productID的表details;它是product表中的外键。我将如何实现它,很抱歉我是mysql新手。@Kingwebbie001您应该加入并在查询中应用group by。请看下面的答案。没问题。请随意选择帮助您的解决方案。这也很有效,非常感谢您;有一个替代方法是很好的!