2017-04-24 173 views
0

我正在使用SQL服务器。我已将Excel文件表导入SQL服务器。在这个表中我有三个这样的列字段:使用SQL服务器计算金额

AMount Name    Type 
277.6 Arasu    Tax 
119.23 Karthi    Tax 
446.43 Selvam    Tax 
381.63 Alex    Tax 
119.23 Karthi    income 
446.43 Selvam    income 
381.63 Alex    income 

现在我想计算基于金额的类型值。如何计算单独的税款类型和收入类型?我怎样才能得到单独的税收和收入金额?

回答

2

喜欢的东西:

SELECT SUM(Amount), Type 
FROM yourTableNameHere 
GROUP BY Type 

是你在问什么?

+0

正确谢谢先生 – sripriya

+0

很酷。很高兴为你工作。一定要标记为答案。 – pmbAustin

+0

这太啰嗦 – Sami

0

你的意思是这样的?:

select A.Name, A.AMount as TAX_Amount, B.AMount as Income_Amount 
from yourTable A left join yourTable B 
    on A.Name = B.Name 
where A.Type = 'Tax' 
    and B.Type = 'income' 
order by A.Name; 
0

你可以得到税收之和与收入分开:

select sum(AMount),Type from taxincome group by Type; 

(taxincome就是我所谓的表)。

+0

我认为这与@pmbAustin的帖子 – Sami

+0

是一样的答案是的,我注意到一旦我发布了我的答案,即萨米也是如此。 –

0
;WITH cte(AMount,Name,Type) 
AS 
(
SELECT 277.6 ,'Arasu' ,'Tax'  Union All 
SELECT 119.23 ,'Karthi' ,'Tax'  Union All 
SELECT 446.43 ,'Selvam' ,'Tax'  Union All 
SELECT 381.63 ,'Alex' ,'Tax'  Union All 
SELECT 119.23 ,'Karthi' ,'income' Union All 
SELECT 446.43 ,'Selvam' ,'income' Union All 
SELECT 381.63 ,'Alex' ,'income' 
) 
SELECT * ,SUM(AMount)OVER(Partition by Type)TotalIncome_TaxAmount From 
(
SELECT Name,Type,SUM(AMount)AMount FROM cte 
GROUP BY Name,Type 
)Dt