我有一個問題作出查詢。SQL Server查詢:行使列(透視?)
此查詢,我創建
WITH TATH(Priority, EntryDate) AS
(
SELECT TH.Priority as Priority, DATEADD(dd, 0, DATEDIFF(dd, 0, entryDate)) as EntryDate
FROM TicketAssignment TA, TicketHeader TH
WHERE TA.TicketID = TH.TicketID
AND TA.Company = 'IT'
AND TA.CurrentRole IN ('SA1B','SA1C','SDA')
)
SELECT Priority, convert(varchar(10), EntryDate,103) as EntryDate, COUNT(*) AS Count
FROM TATH
GROUP BY Priority, EntryDate
,到目前爲止,其結果是:
Priority EntryDate Count
0 25/11/2011 1
1 25/11/2011 2
2 25/11/2011 36
3 25/11/2011 8
0 28/11/2011 3
1 28/11/2011 3
2 28/11/2011 37
3 28/11/2011 37
我想要的結果看起來是這樣
EntryDate Priorty0 Priority1 Priority2 Priority3
25/11/2011 1 2 36 8
28/11/2011 3 3 37 37
我認爲這是出於我的能力,我尋找樞軸,但我無法實現。
如果一個關鍵點不是一個好的解決方案,我必須搜索(或研究)什麼?
你能幫我嗎Q.Q?
從你的文章來看,實際上你並沒有很清楚你到底嘗試了什麼。你只是試圖找出[內置支持在SQL Server中的pivoting](http://msdn.microsoft.com/en-us/library/ms177410.aspx)?還是儘量努力掌握如何使用它?或者你已經嘗試過這個功能?請看看這個主題的*相關*部分。它包含許多關於在SQL Server中進行pivoting的問題(還有例子)。在另一個說明中,不清楚在結果查詢中是否應該修復Priority列的數量。 –
@AndriyM我讀了MSDN頁後嘗試了Pivot。我無法實現它。當我試過Count不適合。我的問題是... DISTINCT(Entry date和Priority)行進入列,Count列進入行。對不起我的英語不好。 – ShootingStar
因此,我明白,您對PIVOT有困難。關於我的另一個問題,關於優先級列的問題呢?在輸出*中總是應該有正好四個優先級列*,例如(Priorty0,Priority1,Priority2,Priority3)。 –