我有我創建的以下視圖看起來像這張表。需要SQL數據透視幫助,因爲我沒有聚合列
Create Table #Temptable(
[Week number] int,
[Did Not meet minimum] int,
[Met minimum] int,
[exceeded minimum] int);
insert into #Temptable([Week number],[Did Not meet minimum],[Met minimum],[exceeded minimum])
values
(3,161,4,18),
(4,165,1,24),
(5,166,0,10)
我想輸出爲三行,以便我可以按周創建趨勢報告。我可以填充臨時表來獲得所需的結果,但我想看看是否有更好的解決方案。
Label, week3, week4, week5
Did not meet minimum, 161, 165, 166
Met minimum, 4, 1, 0
Exceeded minimum, 18, 24, 10
如果這從這個數據集是不可能的,我也有源代碼行項目詳細信息的視圖是從創建。該數據集看起來像這樣
techname,machinename,installdate,weeknumber
我提出,通過techname和週數合計3個標量函數,這樣我可以讓沒有滿足,滿足,並超過了每星期的安裝次數。
預先感謝您。
從StuartLC得到迴應後,我開始製作我自己的動態版本我很接近,但是當我發佈一個回覆時,另一個人發佈了一個工作版本。爲了大家的利益,這裏是我把它放在一起的示例代碼,但不起作用。如果我複製錯誤文本並只選擇輸出的查詢,它可以正常工作。
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.[week number])
FROM SummarisedWeeklysums c
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT Criteria, '+ @Cols +' FROM
(
SELECT
*
FROM
SummarisedWeeklysums
UNPIVOT
(
CriteriaCount
for Criteria in ([Did Not meet minimum],[Met minimum],[exceeded minimum])
) unpvt
) X
PIVOT
(
SUM(CriteriaCount)
for [Week Number] IN ('[email protected]+')
)pvt'
execute @query
非常感謝您根據StuartLC發送的鏈接自行開展工作。這是我得到它沒有正常運行但是,如果我選擇了錯誤,並刪除了錯誤的消息信息它正常運行。 – user3275636
什麼是最好的方式把它放到視圖或臨時表中我可以從畫面查詢。 – user3275636
@ user3275636選擇添加到臨時表版本 – MKC