【发布时间】:2014-02-10 22:18:51
【问题描述】:
我在一个 SQL 查询中得到 5 行,数据截图如下:
我需要编写将这些行转换为 5 列的 SQL 查询。结果应该是这样的:
Col1 ---> Value of First Row
Col2 ---> Value of Second Row
Col3 ---> Value of Third Row
Col4 ---> Value of Fourth Row
Col5 ---> Value of Fifth Row
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
查找 PIVOT 并发布您遇到的问题
-
这个问题似乎是题外话,因为 OP 正在寻找有关如何解决问题的资源。
-
我没有得到任何答案框来回答这个问题,而不是枢轴我们也可以使用最大值和案例条件
-
;与 CTE AS (选择 LEFT(trm_desc,CHARINDEX(':',trm_desc)-1)As Col, RIGHT(trm_desc,LEN(trm_desc)- CHARINDEX(':',trm_desc)- 1) 作为 Val, ROW_NUMBER()OVER (ORDER BY trm_desc) AS RN from @Table ) 选择 MAX(CASE WHEN = 1 THEN Val ELSE '' END )AS 'Select', MAX(CASE WHEN = 2 THEN Val ELSE '' END )AS 'Others' , MAX(CASE WHEN = 3 THEN Val ELSE '' END )AS 'Payment' , MAX(CASE WHEN = 4 THEN Val ELSE '' END )AS 'Supply' , MAX(CASE当 RN = 5 THEN Val ELSE '' END )AS 'Taxes' from CTE
标签: sql sql-server sql-server-2008 pivot