我有这两个表
结合MySQL查询SUM()结果使用内部联接
table1 : date | uid | value_in
table2 : date | uid | value_out
每一天,每一个UID会收到一个平衡值,在国内外享有很高,不管交易/记录的数量
我想要做的是查询结果结合起来,是这样
date | uid | value_in | value_out | (value_in-value_out) as balance
然而
,当我做这个查询
SELECT
a.date,
a.uid,
SUM(a.value_in),
SUM(b.value_out),
(SUM(a.value_in)-SUM(b.value_out)) AS balance
FROM table1 a
INNER JOIN table2 b ON a.date=b.date AND a.uid=b.uid
GROUP BY a.date, a.uid
它产生无效的结果(SUM有两倍或三倍) 我应该如何修改我的查询,以便它不会产生加倍的结果?
哇,它的工作是什么将导致。比INNER JOIN更好,更快,我需要学习这种查询。谢谢 – skeith
@skeith:我添加了一些改进和修复。你可能想看看。 –
是的,再次感谢您提供的改进和修复,它超出我的预期,将从中学习(我发现它对我来说太高级了) – skeith