需要一些幫助來爲SQL Server 2008上的以下方案提供數據透視表。我通常不會做比基本SQL查詢更多的操作,而且這個查詢讓我有點難住。如何創建數據透視表查詢?
查看#1 - v_R_System(需要從這裏NAME0列) 查看#2 - v_GS_ADD_REMOVE_PROGRAMS(需要DisplayName0從這裏)
非關鍵查詢看起來是這樣的:
SELECT DISTINCT sys.Name0 AS [SYSTEM NAME], arp_x86.DisplayName0 AS [ADD/REMOVE PROGRAMS]
FROM v_R_System AS sys LEFT OUTER JOIN
v_GS_ADD_REMOVE_PROGRAMS AS arp_x86 ON sys.ResourceID = arp_x86.ResourceID
WHERE (sys.Name0 LIKE 'SRV%')
GROUP BY arp_x86.DisplayName0, sys.Name0
結果從上面的查詢中只顯示兩列,一列用於系統名稱,另一列用於添加/刪除程序數據。
System Name Add/Remove Programs
------------------------------------
SRV01 APP01
SRV01 APP02
SRV01 APP03
SRV02 APP01
SRV02 APP03
的問題是,我們得到每個服務器的多個行,所以我們想,而不是什麼是有1行中的每個服務器,但有在頂部顯示,然後軟件列表中把「*」的一個軟件列,如果它安裝在特定的服務器上。
System Name APP01 APP02 APP03
------------------------------------------
SRV01 * * *
SRV02 * *
任何幫助非常感謝!
謝謝。
它是mysql還是sql-server?請選擇一個,然後拿出另一個標籤。 –
是服務器數量有限嗎?或可以無限? –
[PIVOT](http://technet.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx)可以在這裏顯示,只要您知道列的名稱即可將在應用之後形成。 – user2989408