两个表的总和的sql总和

Posted

技术标签:

【中文标题】两个表的总和的sql总和【英文标题】:sql sum of sums of two tables 【发布时间】:2017-10-29 12:31:35 【问题描述】:

如何从两个表中得到两个和的总和?

SELECT (SELECT SUM(col) FROM table1) + SELECT (SUM(col) from table2)    

没用

【问题讨论】:

【参考方案1】:

你很亲密。您只需要在每个子查询周围加上括号:

SELECT (SELECT SUM(col) FROM table1) + (SELECT SUM(col) from table2) 

如果任一子查询都可以返回 NULL,您可能更喜欢:

SELECT COALESCE(t1.s, 0) + COALESCE(t2.s)
FROM (SELECT SUM(col) as s FROM table1) t1 CROSS JOIN
     (SELECT SUM(col) as s from table2) t2;

【讨论】:

@Greens 。 . .我认为您不会在其中任何一个上遇到语法错误。在您的查询中,我确实解释了它:“您只需要在每个子查询周围加上括号”。【参考方案2】:

由于这个link,您可以这样做:

SELECT T1C1 , T2C1
FROM
 ( select SUM(Col1) T1C1 FROM  T1 ) A
CROSS JOIN 
 ( select SUM(Col1) T2C1 FROM  T2 ) B

您也可以访问这些链接:

Query SUM for two fields in two different tables

Getting the sum of several columns from two tables

SQL: How to to SUM two values from different tables

【讨论】:

@Greens - 因为在第二个select 你把括号放在了错误的位置。 ..+ SELECT (SUM(col).. --> ..+ (SELECT SUM(col)..【参考方案3】:
select coalesce(sum(x),0) from
 (
    Select sum(a) x from tab1
    Union all
    Select sum(b) from tab2
 ) Ilv 

【讨论】:

以上是关于两个表的总和的sql总和的主要内容,如果未能解决你的问题,请参考以下文章

来自两个不同表的Mysql计数和总和

如何使用雄辩的 Laravel 获得两个表的总和和组响应?

将联合与laravel结合使用时如何获得两个不同表的总和

两个字段的SQL总和

一个带有两个where子句的查询中的两个sql总和[重复]

SQL选择列的总和最大的行(在GROUP BY中有两个字段)