0
/****** Script for SelectTopNRows command from SSMS ******/
declare @ActivityYear int = 2014
declare @ActivityYear1 int = 2015
declare @ActivityMonth int = 1
declare @ActivityMonth1 int = 3
Select FinancialCategory, ID, (CONVERT(varchar(5), ActivityMonth) + '-'
+ CONVERT(varchar(5), ActivityYear)) As [Month-Year], Sum(HoursCharged) As [Hours]
FROM Forecast
where (ActivityMonth between @ActivityMonth and @ActivityMonth1)
AND (ActivityYear between @ActivityYear and @ActivityYear1)
AND FinancialCategory = 'Forecast'
Group By FinancialCategory, ID,ActivityMonth, ActivityYear
這個輸出表,看起來像這樣: 樞軸行分列動態 - SQL
而且我想調換它爲每個ID在該範圍內的日期破了小時。注意:這個日期範圍是動態的,我爲測試目的設置了初始日期。
我收到錯誤:必須聲明標量變量「@ActivityMonth」。明天早上我會再看看這個。 – Megan 2014-11-05 23:49:18
啊我看到現在我得到的那個錯誤得到了修正:轉換nvarchar值' \t SELECT FinancialCategory,SID,[1-2014],[1-2015],[2-2014],[2-2015 ],[3-2014],[3-2015] FROM ( SELECT FinancialCategory,SID,ActivityMonth,ActivityYear,HoursCharged FROM預測 WHERE(ActivityMonth'之間爲數據類型int。 – Megan 2014-11-06 13:46:24
我找到了解決方案!我刪除了'@query'中的where子句,然後我得到一個語法錯誤,所以我更改了'@query'中的SELECT語句以包含轉換...我將用我的編輯您的解決方案...謝謝! – Megan 2014-11-06 14:48:44