我需要從屬於同一所有者的2家小公司獲得總成本結果。PHP/MYSQL:從不同表中的2列中獲得總金額
這兩家公司的成本表位於同一個數據庫中。
我會用圖片
我需要得到的是最後總(如圖片說明)更好地解釋它。
我可以做2個單獨的查詢,然後作出總和的變量,但我想知道是否有可能得到總結果一個查詢。
在此先感謝
我需要從屬於同一所有者的2家小公司獲得總成本結果。PHP/MYSQL:從不同表中的2列中獲得總金額
這兩家公司的成本表位於同一個數據庫中。
我會用圖片
我需要得到的是最後總(如圖片說明)更好地解釋它。
我可以做2個單獨的查詢,然後作出總和的變量,但我想知道是否有可能得到總結果一個查詢。
在此先感謝
SELECT
(SELECT SUM(neto_amount) FROM fincost1) + (SELECT SUM(neto_amount) FROM fincost2)
FROM dual
我能理解爲什麼你就費用並行表 - 因爲他們是在安全性和訪問權限方面更簡單。但是,從幾乎所有其他角度(維護,查詢,備份/恢復)來看,最好有一個表格,其中有一列指示「所有者」和/或「公司」。
你可以使用子查詢來做你想做的事情。我喜歡把他們from
子句中:
select (amount1 + amount2) as neto_neto_amount
from (select sum(neto_amount) as amount1 from fin_costs_1) t1 cross join
(select sum(neto_amount) as amount2 from fin_costs_2) t2 ;
試圖使用您的查詢,但得到這個錯誤'每個派生表必須有它自己的別名' – Sisir 2015-04-08 06:44:43
@Sisir。 。 。當使用返回一行的子查詢時,我有一種方法將它們排除在外。 – 2015-04-08 21:55:32
是,使用UNIONS
SELECT sum(u.cost)
FROM (
SELECT sum(neto_amount) cost
FROM fin_costs1
UNION
SELECT sum(neto_amount) cost
FROM fin_costs2
) u
我敢肯定有這樣做的其他一些方法,但我這樣做的方法是這樣的:
我得到兩個表的總和在兩個不同的SQL SUM功能,如:
SELECT SUM(column_name) FROM table_name1;
SELECT SUM(column_name) FROM table_name2;
,只需加在一起,就像$sum1 + $sum2 = $total;
和echo $totalsum;
做
這正是OP說他們已經在做... – CD001 2014-12-02 13:19:06
select sum(total) from (
SELECT SUM(column_name) as total FROM table_name1
union all
SELECT SUM(column_name) as total FROM table_name2
) as alias
非常感謝!這工作 – user2952715 2014-12-02 14:19:09
歡迎:) @ user2952715 – 2014-12-02 17:03:21
是什麼'dual'? – Sisir 2015-04-08 05:59:42
DUAL是數據庫中默認存在的特殊的一行,一列表。如果您可以在不使用特定表的情況下運行函數 - 使用雙重函數,因爲無法運行不帶FROM的選擇。 Chchck鏈接:http://www.w3resource.com/sql/sql-dual-table.php – starko 2015-04-08 07:08:13
感謝您的有用信息。您可能想要將其添加到答案本身:) – Sisir 2015-04-08 07:32:16