两个表的总和的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总和的主要内容,如果未能解决你的问题,请参考以下文章