有两个带有多个条目(行)的单独表,我们需要将它们相加(求和)以形成一个值。
下面的查询为我提供2个不同的返回值,我希望将2个加在一起形成1个值。任何和所有帮助表示赞赏。
select sum(t1.netAmount)
from tbl_one t1 where userid = 4033 and date > '2014-09-01'
Union All
select sum(t2.netAmount)
from tbl_two t2 where userid = 4033 and date > '2014-09-01'
下表结构
tbl_one
userid | netAmount | date
---------------------------------
4033 | 20 | 2014-09-02 12:00:00
4033 | -20 | 2014-09-02 12:01:00
4033 | 40 | 2014-09-02 12:02:00
tbl_two
userid | netAmount | date
---------------------------------
4033 | 05 | 2014-09-03 12:00:00
4033 | -100 | 2014-09-03 12:01:00
4033 | 12 | 2014-09-03 12:02:00
在两个表中获得4033的真实总和将得出-43(40 + -83)
最佳答案
我不知道您的数据库是什么样子,因此未经测试,但是类似的东西应该可以工作:
SELECT SUM(netAmount) FROM (
SELECT netAmount FROM tbl_one WHERE userid = 4033 AND `date` > "2014-09-01"
UNION ALL
SELECT netAmount FROM tbl_two WHERE userid = 4033 AND `date` > "2014-09-01"
) x