1
A
回答
1
例
Declare @SQL varchar(max) = ''
Set @SQL = Stuff((Select Distinct ',' +QuoteName('C'+cast(RN as varchar(25)))
+','+QuoteName('P'+cast(RN as varchar(25)))
From (Select Distinct RN=Row_Number() over (Order By Pays) From YourTable) A
Order by 1 For XML Path('')),1,1,'')
Set @SQL = '
Select ' + replace(replace(@SQL,'[P','Pays=[P'),'[C','Count=[C') + '
From (
Select B.*
From (
Select *,RN = Row_Number() over (Order By Pays)
From YourTable
) A
Cross Apply (values (''P''+cast(A.RN as varchar(25)),A.Pays)
,(''C''+cast(A.RN as varchar(25)),cast(A.Count as varchar(50)))
) B (Item,Value)
) A
Pivot (max(value) For [Item] in (' + @SQL + ')) p'
Exec(@SQL);
返回
如果有幫助,生成的SQL是這樣的:你
Select Count=[C1],Pays=[P1],Count=[C2],Pays=[P2],Count=[C3],Pays=[P3],Count=[C4],Pays=[P4]
From (
Select B.*
From (
Select *,RN = Row_Number() over (Order By Pays)
From YourTable
) A
Cross Apply (values ('P'+cast(A.RN as varchar(25)),A.Pays)
,('C'+cast(A.RN as varchar(25)),cast(A.Count as varchar(50)))
) B (Item,Value)
) A
Pivot (max(value) For [Item] in ([C1],[P1],[C2],[P2],[C3],[P3],[C4],[P4])) p
+0
非常感謝,你的代碼幫了我很多 – tollamie
+0
@tollamie對它有幫助 –
相關問題
- 1. 顯示在SQL Server 2005中多行的結果爲單行
- 2. 在一行上顯示多列(SQL)
- 3. 微軟SQL Server Management Studio中:在消息顯示一行行書
- 4. 合併數據一列的多行到一行在SQL Server
- 5. 在COUNT = 0的SQL Server中顯示行
- 6. 在SQL Server中顯示幾行爲列
- 7. SQL Server將多行合併到一列
- 8. SQL Server:將多行組合成一行
- 9. SQL在一行中顯示2行
- 10. 在一個顯示多行
- 11. PL-SQL顯示多行
- 12. 顯示查詢需要在SQL Server中運行多長時間
- 13. 如何在SQL SERVER 2008 R2中逐行顯示多個值?
- 14. 在SQL Server中插入多行到表
- 15. 顯示多個值一行
- 16. 如何在SQL中的一行顯示多行結果?
- 17. SQL Server:顯示空行選擇TOP 5
- 18. SQL Server執行計劃顯示什麼?
- 19. 如何顯示的列行的SQL Server
- 20. 如何在SQL Server中將數據從行顯示到列中
- 21. 顯示列到行SQL
- 22. SQL Server 2012中,只能顯示一行,如果其他存在
- 23. 多行顯示在行中
- 24. 合併多行到一行在SQL
- 25. 在SQL SERVER的一列中選擇多行到多行的相關列?
- 26. PHP表。顯示多行到一個
- 27. SQL Server XQuery在一行中?
- 28. 在SQL中顯示一行中同一列的多個值
- 29. SQL如何在將多行分組在一起時選擇顯示哪一行?
- 30. SQL Server中如何選擇單詞「Rehired」,顯示在單詞「Quit」最後一行後顯示的第一行
當你用Google搜索各種明確的聲明提出質疑,你發現了什麼? PS這是一個常見問題,研究「旋轉」。 – philipxy
我沒有在網上找到相同的例子! – tollamie
您最終會得到動態列號,通常它根本不可用。你想要顯示什麼順序?如果沒有提供訂單,它會默認存儲訂單,如堆 –