SQL:如何从不同的表中求和两个值

时间:2013-10-17 20:44:10

标签: sql sql-server tsql sum dashboard

好。

我已经在工作中投入了一个项目,虽然我有一些SQL技能,但它们非常生疏。

其中一个工作场景给我留下了许多我需要总结的值表。它们也没有链接,但所有表格的顺序都相同。

基本上,我想采取这两个表:

CASH TABLE  
London  540
France  240
Belgium 340

CHEQUE TABLE
London  780
France  490
Belgium 230

要获得这样的输出以输入图形应用程序:

London  1320
France  730
Belgium 570

请帮忙。

4 个答案:

答案 0 :(得分:46)

select region,sum(number) total
from
(
    select region,number
    from cash_table
    union all
    select region,number
    from cheque_table
) t
group by region

答案 1 :(得分:15)

SELECT (SELECT SUM(London) FROM CASH) + (SELECT SUM(London) FROM CHEQUE) as result

'等等等等。

答案 2 :(得分:1)

你也可以在sql-server中试试!!

select a.city,a.total + b.total as mytotal from [dbo].[cash] a join [dbo].[cheque] b on a.city=b.city 

demo

或尝试使用sum,union

select sum(total)  as mytotal,city
from
(
    select * from cash union
    select * from cheque
) as vij
group by city 

答案 3 :(得分:0)

对于您当前的结构,您还可以尝试以下操作:

select cash.Country, cash.Value, cheque.Value, cash.Value + cheque.Value as [Total]
from Cash
join Cheque
on cash.Country = cheque.Country

我认为我更喜欢两个表之间的联合,以及上面提到的国家/地区的分组。

但我还建议您对表进行规范化。理想情况下,您有一个国家/地区表,包含Id和Name,以及一个付款表: CountryId(FK到国家),总计,类型(现金/支票)