【发布时间】:2015-04-10 14:26:53
【问题描述】:
我想对链接到另一个表的价格求和。
我试试这个查询:
SELECT COUNT(cmd.mt14),
SUM(cmd.mt14)
FROM g_piece cmd
INNER JOIN g_piece lot
ON lot.GPIREFNOTAIRE = cmd.refpiece
AND lot.gpirole = 'B2029005'
结果是:
count(cmd.mt14) sum(cmd.mt14)
100 170704,188
这不好,因为它会因左连接而对所有去重行求和。 如果我尝试使用“独特”:
SELECT count(unique cmd.mt14),
sum(unique cmd.mt14)
FROM g_piece cmd
INNER JOIN g_piece lot
ON lot.GPIREFNOTAIRE = cmd.refpiece
AND lot.gpirole = 'B2029005'
结果:
count(unique cmd.mt14) sum(unique cmd.mt14)
54 57724,554
问题是这也是错误的,因为 sum 函数不会对所有价格求和,而只是对唯一价格求和。
如何根据不同的列汇总所有价格?
非常感谢
如果我尝试在 excel 上获取行并对所有行求和,我有:
count sum
58 58492.503
【问题讨论】:
-
(1) 为问题选择正确的数据库标签。 (2) 添加样本数据以及想要的结果。
-
请注意,只要您在 WHERE 子句中具有 g_piece 条件,LEFT JOIN g_piece 就表现为内连接。 (如果需要外连接,请移至 ON 子句。)
-
谢谢,我更改了查询,结果相同