我有两行属于同一采购订单。 正如您在下面看到的,佣金和 sales_value 没有合并到一行中。这些数据是我们从外部接收的,无法更改。
我已经尝试了大约一周的时间来获得正确的查询,不幸的是没有得到我预期的结果
+--------+-------------+------------+-------+ | PO | sales_value | commission | total | +--------+-------------+------------+-------+ | XXXXXX | | -1.60 | -1.60 | | XXXXXX | 28.89 | | 28.89 | +--------+-------------+------------+-------+
我尝试创建一个查询以获得以下结果:
+--------+-------------+------------+-------+ | PO | sales_value | commission | total | +--------+-------------+------------+-------+ | XXXXXX | 28.89 | -1.60 | 27.29 | +--------+-------------+------------+-------+
它应该将佣金移动到第二行的空佣金字段并且它应该将总金额加在一起。这样我们就可以正确地使用这些信息。
结合MySQL的join功能,我尝试了很多可能性。 不幸的是,我无法展示我的尝试,因为我没有保存测试查询。
最佳答案
您需要将 GROUP BY
与 SUM()
一起使用聚合,以便将特定 PO 的所有行合并为一个:
SELECT
PO,
SUM(sales_value) AS sales_value,
SUM(commission) AS commission,
SUM(sales_value) + SUM(commission) AS total
FROM your_table_name -- <- use your table name here
GROUP BY PO
关于MYSQL JOIN同表,合并空字段求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52893225/