2012-02-23 39 views
0

對實際SQL Server SQL代碼格式化查詢結果或使用不同程序(如access或excel)的最有效方式是什麼,以便X (第一行列標題)和Y軸(第一列字段值)可以改變,但仍然以相同的方式表示相同的查詢結果數據。SQL Server 2008查詢結果格式化(更改x軸和y軸字段)

他們的方式將數據存儲在我的數據庫,他們的方式我原來的查詢結果在SQL Server 2008中返回如下:

Original Results Format

,下面將我需要的數據的方式看:

How I need the Results to Look

從本質上說,我需要有郵政編碼場往下走Y軸(第一列)和Coveragecode領域橫跨上面第一行(X軸)與日去e暴露填充其餘數據。

我完成這件事的唯一方法就是將數據帶入excel並做一堆V-LookUps。我嘗試使用一些數據透視表,但沒有達到很遠。我將繼續嘗試使用V-LookUps格式化數據,但希望有人能想出一個更好的方法來做到這一點。

+0

剛擡起頭 - 它將爲他人服務更好,如果你張貼在你的問題,而不是引用外部鏈接的數據 - 再加上你通常會得到更多的答覆/活動的方式。 – 2012-02-24 03:11:03

+0

@J Cooper:你可以給一個SO-meta鏈接來支持你的adivce嗎?這聽起來不明顯/明確。 – 2012-02-24 03:17:08

+0

@zespri - 我的建議是基於這樣一個事實,即如果外部鏈接死亡,要理解被問到的問題並不那麼容易。此外,就更多的活動而言,我的觀察是,依賴於外部鏈接(或關於該事項的鏈接)的問題受到的關注較少 - 例如,這個相對容易回答的問題在10小時後沒有任何評論或回答有人問。 – 2012-02-24 03:44:26

回答

1

你在找什麼是一個表操作符PIVOT。文檔:http://msdn.microsoft.com/en-us/library/ms177410.aspx

WITH Src AS(
    SELECT Coveragecode, Zipcode, EarnedExposers 
    FROM yourTable 
) 
SELECT Zipcode, [BI], [PD], [PIP], [UMBI], [COMP], [COLL] 
FROM Src 
PIVOT(MAX(EarnedExposers) FOR CoverageCode 
    IN(
      [BI], 
      [PD], 
      [PIP], 
      [UMBI], 
      [COMP], 
      [COLL] 
    ) 
) AS P; 
+0

謝謝!我已經做了很長的路要走(把數據帶入excel並做一大堆的vlookups,然後放入訪問並刪除重複的記錄:: sigh :),但我現在會嘗試這種方法。這將爲我節省很多時間! – 2012-02-24 15:13:35

+0

我最近能夠使用上面的代碼。工作很好。再次感謝J庫珀! – 2013-02-05 19:34:22