将两条select语句结合在一起

将两条select语句结合在一起

问题描述:

我正在努力计算出我们为入会费收取了多少。将两条select语句结合在一起

我有两个单独的查询都返回值,但我需要他们作为一个而不是两个单独的查询。

SELECT SUM(ENTRY) AS TOTAL1 FROM MONEY 

SELECT SUM(ENTRY) AS TOTAL1 FROM MONEY2 
+3

你有没有尝试过工会? – Fabien

+0

我放弃了它,但我相信所有列的值必须相同。我在另一个列中有更多列。但我不怀疑希瑟我做了这个联合加入正确。 – thewaleed100

+0

您确实需要相同数量的列(每个列对具有相同的数据类型),但通过在列中包含较少列的select中包含虚拟列,可以很容易地解决这个问题。 (eg:select'',from dual; 0) –

我需要为了得到语句一起使用UNION。然后用下面的代码获得一个数字。

SELECT SUM(X.TOTAL1) from 
(
SELECT SUM(ENTRY) AS TOTAL1 FROM MONEY 
UNION 
SELECT SUM(ENTRY) AS TOTAL1 FROM MONEY2 
) X; 
+0

小心使用'UNION'和'UNION ALL';如果这两个数字恰好相等,您将得到错误的答案,因为'UNION'删除重复项。 – mathguy

select sum(entry) as grand_total 
from (select entry from money 
     union all 
     select entry from money2 
    ); 

问题的关键是,你应该使用UNION ALL;每个表有多少列是无关的,因为你不需要UNION ALL这两个表(每个表中的所有列);您只需要UNION ALL第一张表中的ENTRY列和第二张表中的ENTRY列。