Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么内部连接不正确?_Mysql_Sql_Inner Join - Fatal编程技术网

Mysql 为什么内部连接不正确?

Mysql 为什么内部连接不正确?,mysql,sql,inner-join,Mysql,Sql,Inner Join,我有一个带有内部联接的SQL查询。我需要从表offers中获取所有优惠 表提供的现在为空。但是下面的查询返回一个字段为NULL的行 为什么要退货?如何解决这个问题?如果表为空,我需要返回0行 查询: select *, SUM(offers.price * announcement_product.amount) AS total, announcements.user_id AS creator_ann, announcements.id AS ann_id, announcemen

我有一个带有内部联接的SQL查询。我需要从表
offers
中获取所有优惠

提供的
现在为空。但是下面的查询返回一个字段为NULL的行

为什么要退货?如何解决这个问题?如果表为空,我需要返回0行

查询:

    select *, SUM(offers.price * announcement_product.amount) AS total, announcements.user_id AS creator_ann, announcements.id AS ann_id,
 announcements.delivery AS deliveryAnn, announcements.payment AS
 paymentAnn, SUM(announcement_product.amount) AS amount,
 announcement_product.name as name_product 
from `offers` 
inner join `announcements` on `announcements`.`id` = `offers`.`announcement_id` 
inner join `announcement_product` on `offers`.`announcement_product_id` = `announcement_product`.`id` 
inner join `countries` on `countries`.`id` = `announcements`.`country` 

where `offers`.`user_id` = 1 and `offers`.`status` = 1 and `offers`.`deleted_at` is null

您正在使用聚合函数
SUM()
,但没有任何
GROUPBY
子句

当您这样做时,您正在指示MySQL将您在
SUM()
中提到的列中的所有行值相加。即使没有行可加,它也会这样做


为了获得最佳效果,您应该学习
分组依据
函数以及如何将其与
SUM()
一起使用。很难从查询中猜出您想要什么。

您使用的是聚合函数
SUM()
,但没有任何
GROUP BY
子句

当您这样做时,您正在指示MySQL将您在
SUM()
中提到的列中的所有行值相加。即使没有行可加,它也会这样做


为了获得最佳效果,您应该学习
分组依据
函数以及如何将其与
SUM()
一起使用。很难从你的查询中猜出你想要什么。

我不确定,但我不认为

选择*,…

当查询中有多个表时,该查询是有效的

试一试


选择优惠。*,…

我不确定,但我不认为

选择*,…

当查询中有多个表时,该查询是有效的

试一试


选择优惠。*,…

这是您的选择结构应该是: 挑选 身份证件 Sku, 金额(现有), 总额(价格) 从mytable 其中mytable Onhand>0 分组 身份证,Sku 如果要使用聚合函数,如Max、Sum、Min等,。。。。
您需要将group by用于您在“选择”部分中使用的其他表格字段。

选择结构应该是这样的: 挑选 身份证件 Sku, 金额(现有), 总额(价格) 从mytable 其中mytable Onhand>0 分组 身份证,Sku 如果要使用聚合函数,如Max、Sum、Min等,。。。。
您需要对您在选择部分中使用的其他表格字段使用分组依据。

因此,我需要对字段使用
group by
?因此,我需要对字段使用
group by