2016-12-14 42 views
0

我正在努力計算出我們爲入會費收取了多少。將兩條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) –

回答

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

0
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列。