如何转动,并得到总金额每个月

问题描述:

我有这样的数据: 我的表 enter image description here如何转动,并得到总金额每个月

我的最终结果应该是这样的:

enter image description here

我的SQL语句:

SELECT 'Q'+cast([Month_Quarter] as varchar) Month_Quarter,COALESCE([Zugänge],0) Zugänge,COALESCE([Abgänge],0) Abgänge 
FROM 
(
    SELECT DATEPART(QUARTER,[Monat]) [Month_Quarter], 
     [Zu-, Abgang], 
     Count(DISTINCT [Projektdefinition DB]) NoProjects 

FROM AbZugänge 
GROUP BY DATEPART(QUARTER,[Monat]), [Zu-, Abgang] 

) proj 
PIVOT (SUM(NoProjects) FOR [Zu-, Abgang] IN (Zugänge, Abgänge)) As pvt 
    WHERE [Month_Quarter] is not null 
    ORDER BY Month_Quarter 

但与此声明我得到的结果没有金额栏Zugang和列Abgang:

enter image description here

我怎么能编辑得到聚集量列的声明?

+0

这甚至不是一个关键。这是一个简单的GROUP BY –

我想你可以把你的查询包装在另一个select语句中,然后使用GROUP BY。这样的事情:

SELECT Month, SUM(ISNULL(column_name,0)) 
FROM (Your Query in here) 
GROUP BY Month 
+0

您可以提供更多信息,或者您可以在您认为可能有所帮助的级别编辑我的查询吗? – mikybrain

不知道我明白你的原始查询中的枢轴点。这看起来像一个典型的聚合是所需要的。看看这是你需要的。

SELECT DATENAME(MONTH,Monat) [Month] 
    , sum(case when [Zu-, Abgang] = 'Zugänge' then [Zu-, Abgang] else 0 end) as Zugänge 
    , SUM(case when [Zu-, Abgang] = 'Abgänge' then [Zu-, Abgang] else 0 end) as Abgänge 
    , SUM([GWU aktuell]) as [GWU Total] 
    , SUM([GWU Planung aktuell]) AS [Plan Total] 
    , COUNT(DISTINCT [Projektdefinition DB]) NoProjects 
FROM AbZugänge 
group by DATENAME(MONTH,Monat) 
+0

由于它是一个nvarchar数据类型,因此它不能求和数据类型 '总和(当[Zu-,Abgang] ='Zugänge'然后[Zu-,Abgang] else 0 end)作为Zugänge'错误245 – mikybrain

+0

那么我们不知道你的表是什么样子,因为你没有发布它们。你能把它作为一个int吗? –

+0

我改进了我的陈述 – mikybrain