2010-08-19 52 views
4

我有了DateTime,類型的列的表的日子,我想,這樣的日期顯示爲列(如每週一天的日期時間列轉動,星期二等)。在SQL Server中使用透視顯示日期作爲一週

因此,例如,我有這樣一個表(不記得Server如何SQL顯示完整日期時間,但你的想法):

BugNo | DateOpened | TimeSpent 

1234 | 16/08/2010 | 1.0 
4321 | 16/08/2010 | 3.5 
9876 | 17/08/2010 | 1.5 
6789 | 18/08/2010 | 7.0 
6789 | 19/08/2010 | 6.5 
6789 | 20/08/2010 | 2.5 

我想轉動的DateOpened列創建這樣的結果集

|TimeSpentOnBugByDay| Mon | Tue | Wed | Thu | Fri | Sat | Sun 
1234     1 
4321     3.5 
9876       1.5 
6789         7.0 
6789           6.5 
6789            2.5 

我應該指出,我一次只能檢索一週。

我不知道這是可能的,但我敢肯定,我已經看到了(我沒有寫)之前是這樣的。

+1

爲什麼不看標記爲「SQL服務器」和「轉動」的其他問題? – 2010-08-19 22:02:58

+0

嗨,我做了嘗試,但找不到這個具體我也能得到我從其他的例子所需要的。爲 – bplus 2010-08-23 07:26:26

回答

4

你可以做到這一點

SELECT BugNo, [Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday], [Sunday] 
FROM (
    SELECT BugNo, DATENAME(dw, DateOpened) AS DayWeek, TimeSpent 
    FROM Bugs 
    ) AS src 
    pivot (
     SUM(TimeSpent) FOR DayWeek IN ([Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday], [Sunday]) 
    ) AS pvt 
+0

謝謝,這正是我一直在尋找。 – bplus 2010-08-23 07:25:02

相關問題