加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

T-SQL组进入列

发布时间:2020-12-12 06:50:55 所属栏目:MsSql教程 来源:网络整理
导读:如何将(未知)行数分组到一行中,设置列确定分组? 例如,转移 Ref Name Link==============================1 John L11 John L21 John L82 Steve L12 Steve L234 成 Ref Name ... ... ...==========================================1 John L1 L2 L82 Steve L1
如何将(未知)行数分组到一行中,设置列确定分组?

例如,转移

Ref      Name            Link
==============================
1        John            L1
1        John            L2
1        John            L8
2        Steve           L1
2        Steve           L234

Ref      Name            ...    ...    ...
==========================================
1        John            L1     L2     L8
2        Steve           L1     L234   NULL

谢谢你的帮助

解决方法

您可以使用row_number()作为列名来源来转动表:
select *
from
(
  select ref,name,link,row_number() over (partition by ref,name order by link) rn
  from table1
) s
pivot (min (link) for rn in ([1],[2],[3],[4])) pvt

如果您有更多行,只需扩展数字列表即可.

Live test is @ Sql Fiddle.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读