我正在嘗試做一個數據透視表,但是我正在使用的查詢結合了幾個表格來提供我需要的結果。這裏是我的查詢:SQL樞軸查詢
Select lc.statename as 'Queue',
CONVERT(varchar(10), wfl.entrytime, 110) as 'EntryDate',
count(lc.statenum) as 'Count' -- CONVERT(varchar(10), wfl.entrytime, 110) as 'EntryDate'
FROM lcstate lc
INNER JOIN wflog wfl ON lc.statenum = wfl.statenum
INNER JOIN lifecycle lif ON wfl.lcnum = lif.lcnum
INNER JOIN itemdata id ON wfl.itemnum = id.itemnum
WHERE (lif.lcnum = '163')
AND (lc.statenum IN ('836', '837', '848', '863', '845', '859', '860', '864', '865', '866', '816', '867', '869', '868', '870', '872'))
AND wfl.exittime = '1964-01-01 00:00:00.000'
GROUP BY lc.statename, CONVERT(varchar(10), wfl.entrytime, 110)
Order by 1,2,3 desc
我的結果如下:
Queue Entry Date Count
----------------------------------------------------------------
Queue1 01/01/2017 15
Queue1 01/04/2017 9
Queue1 01/21/2017 27
Queue2 01/01/2017 4
Queue2 01/21/2017 12
Queue3 01/01/2017 54
而且我想用第1列的列標題和輸入日期作爲行頭。所以它看起來是這樣的:
EntryDate Queue1 Queue2 Queue3
-----------------------------------------------
01/01/2017 15 4 54
01/04/2017 9 null null
01/21/2017 27 12 null
有很多涉及隊列和入境日期,我想使頭動態,如果可能的,因爲隊列名稱取決於誰在運行報表而改變。 我知道有很多Pivot的例子,但是我發現的大多數並不完全符合我的需求。 我不需要做這種轉換,但是我試圖使用戶對用戶友好。
在此先感謝。
是有一個固定數量或隊列? – McNets
你的rdbms是什麼?你需要一個動態的支點。但是每個db都有不同的說法。 –
@McNets你不需要刪除,也許他不知道如何做到這一點基本的關鍵,並幫助他有一些東西開始。但我認爲他需要一個動態的數據透視表http://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query –