广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    SQL 将两行数据拼接为一行

    来源:网络收集  点击:  时间:2025-02-21
    【导读】:
    SQL Server:按照数据库ROW_NUMBER()产生的行号,将相邻奇数行与偶数行拼接成一行。思路:使用表 左自连接。工具/原料moreSql Server 2005及以后版本方法/步骤1/6分步阅读

    模拟数据源表结构,使用临时表

    2/6

    插入模拟数据

    3/6

    模拟按照Code栏位排序后生成 ROW_NUMBER() 行号

    4/6

    将两行数据合并成一行,奇数行号在左侧,偶数行号在右侧

    5/6

    模拟效果如下图所示

    6/6

    完整的模拟过程SQL如下:

    -- 模拟数据源表结构

    create table #test(

    Code varchar(50),

    Remark varchar(200)

    )

    -- 模拟数据

    insert into #test(Code, Remark) values(A, A Remark);

    insert into #test(Code, Remark) values(B, B Remark);

    insert into #test(Code, Remark) values(C, C Remark);

    insert into #test(Code, Remark) values(D, D Remark);

    -- 模拟按照Code栏位排序后生成行号

    select ROW_NUMBER() over(order by Code) as RowNum, Code

    ,Remark

    into #tmpTest

    from #test

    order by Code

    -- 将两行数据合并成一行,奇数行号在左侧,偶数行号在右侧

    select test1.RowNum

    ,test1.Code

    ,test1.Remark

    ,test2.RowNum as RowNum2

    ,test2.Code AS Code2

    ,test2.Remark AS Remark2

    from #tmpTest test1

    left join #tmpTest test2 on test1.RowNum = test2.RowNum -1

    and test2.RowNum % 2 = 0

    where test1.RowNum % 2 =1

    SQLSQLSERVERROW_NUMBER查询拼接
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1246804.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 21:04:00  耗时:0.031
    0.0311s