2015-04-17 62 views
-1

我有這樣的數據: 我的表 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 –

回答

1

我想你可以把你的查詢包裝在另一個select語句中,然後使用GROUP BY。這樣的事情:

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

您可以提供更多信息,或者您可以在您認爲可能有所幫助的級別編輯我的查詢嗎? – mikybrain

0

不知道我明白你的原始查詢中的樞軸點。這看起來像一個典型的聚合是所需要的。看看這是你需要的。

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