我需要从属于同一所有者的2家小公司获得总成本。
两家公司的成本表位于同一个数据库中。
我会用图片
更好地解释它我需要得到的是最终总数(如图所示)。
我可以做两个单独的查询,然后对变量求和,但我想知道是否有可能得到一个查询的总结果。
提前致谢
答案 0 :(得分:1)
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
答案 1 :(得分:0)
SELECT
(SELECT SUM(neto_amount) FROM fincost1) + (SELECT SUM(neto_amount) FROM fincost2)
FROM dual
答案 2 :(得分:0)
我可以理解为什么你有成本的并行表 - 因为它们在安全性和访问权限方面更简单。但是,从几乎所有其他角度来看(维护,查询,备份/恢复),最好有一个表格,其中一列表示"所有者"和/或"公司"。
您可以使用子查询执行所需操作。我更喜欢将它们放在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 ;
答案 3 :(得分:0)
是的,使用UNIONS
SELECT sum(u.cost)
FROM (
SELECT sum(neto_amount) cost
FROM fin_costs1
UNION
SELECT sum(neto_amount) cost
FROM fin_costs2
) u
答案 4 :(得分:0)
我确定还有其他一些方法可以做到这一点,但我这样做是这样的:
我在两个不同的sql SUM函数中得到两个表的和,如:
SELECT SUM(column_name) FROM table_name1;
SELECT SUM(column_name) FROM table_name2;
并简单地将$sum1 + $sum2 = $total;
和echo $totalsum;
完成