【发布时间】:2011-11-03 00:57:04
【问题描述】:
我有这两张表
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 是两倍或三倍) 我应该如何修改我的查询,使其不会产生双倍的结果?
【问题讨论】: