繁体   English   中英

SQL单列拆分多列

[英]SQL single column split over multiple columns

我想将查询中的单列结果拆分为4列:

示例源:( Select [FirstName from User ]
彼得
玛丽
约翰
蒂娜
卡尔

法案
莎拉

我想看起来像这样:

Column1   Column2   Column3   Column4  
Peter     Mary      John      Tina  
Carl      Jane      Bill      Sarah

您需要为ORDER BY提供一个唯一的列才能获得确定性结果,但这些行中的某些内容应该有效。

;WITH T
     AS (SELECT [FirstName],
                ( ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1 ) / 4 AS Row,
                ( ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1 ) % 4 AS Col
         FROM   [User])
SELECT [0] AS Column1,
       [1] AS Column2,
       [2] AS Column3,
       [3] AS Column4
FROM   T PIVOT (MAX(name) FOR Col IN ([0], [1], [2], [3])) P 
ORDER BY Row

在这里你有很多选项,寻找一个更适合你的情况: 从值列表创建列

上一个链接指向更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM