SQL 将两行数据拼接为一行

时间:2026-02-13 18:53:58

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

SQL 将两行数据拼接为一行

2、插入模拟数据

SQL 将两行数据拼接为一行

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

SQL 将两行数据拼接为一行

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

SQL 将两行数据拼接为一行

5、模拟效果如下图所示

SQL 将两行数据拼接为一行

SQL 将两行数据拼接为一行

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

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com