1
我在表中有以下數據。在SQL Server中動態添加列值
State P_Name Product Apr-2013 May-2013 Jun-2013 July-2013 Aug-2013 Sep-2013 Oct-2013 Nov-2013 Dec-2013 Jan-2014 Feb-2014 Mar-2014 =============================================================================================================================================================== s1 p1 pro1 1500 4587 5245 6541 9683 45878 65464 4444 4411 21452 223322 232322 s1 p1 pro2 1500 4587 5245 6541 9683 45878 65464 4444 4411 21452 223322 232322
現在前三列是靜態的,但值是動態的,剩餘的列名和值是動態的。與此有一個可變
Declare @MONTHS INT
SET @MONTHS = 1--3/6/12 can be 1/3/6/12 as monthly/quater/half-year/fullyear
現在取決於@MONTHS
值I必須添加值以第一/第一至第三/第一至6 /第一至12列和僅顯示列。 IF
SET @MONTHS = 1
然後上面的數據是結果。但
SET @MONTHS = 3
然後期望的結果如下:
State P_Name Product Jun-2013 Sep-2013 Dec-2013 Mar-2014 ======================================================================= s1 p1 pro1 11332 62102 74319 477096 s1 p1 pro2 11332 62102 74319 477096
這裏只第三月份列顯示與加入APR-2013,可-2013和Jun-2013柱值(在jun- 2013年專欄),同樣我想要6和12也在第6和第12列。 月份列號和行號都是動態的。 月份列的數量可能只有1/3/6/12的倍數。 在這方面需要幫助。 謝謝。
編輯: 以上表中的數據導出與PIVOT幫助另一個表。是否有可能之前/與PIVOT沒有循環..? 以下是PIVOT之前的數據。
state p_name product amount monthnames ================================================ s1 p1 pro1 1500 apr-2013 s1 p1 pro1 4587 may-2013 s1 p1 pro1 5245 jun-2013 and so on................ ........................
告訴我們你已經擁有了什麼。 – RBarryYoung
對此沒有任何想法...... :(對於在一段時間後編輯的重要信息感到抱歉...... !!) – LeO
這裏的網站規則之一:「*詢問代碼的問題必須證明對所解決問題的最小理解包括嘗試的解決方案,爲什麼他們沒有工作,以及預期的結果。「所以,至少要告訴我們你對靜態部分的瞭解,然後什麼時候可以改變它是動態的。 – RBarryYoung