欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

合并单表中某两行具有相同内容的数据

程序员文章站 2022-03-30 14:08:45
...

合并单表中某两行具有相同内容的数据,变成一行数据来显示。 现为合并p1,p2字段的值。 createtabletest ( p1varchar(10), p2varchar(10), p3varchar(10), p4varchar(10), p5varchar(10) ) 无 (select aaa.p1, bbb.p2, aaa.p3, aaa.p4, aaa.p5 from (select RO

合并单表中某两行具有相同内容的数据,变成一行数据来显示。

现为合并p1,p2字段的值。

create table test
(
p1 varchar(10),
p2 varchar(10),
p3 varchar(10),
p4 varchar(10),
p5 varchar(10)
)
(
select aaa.p1, bbb.p2, aaa.p3, aaa.p4, aaa.p5
  from (select ROW_NUMBER() OVER(ORDER BY ppp.p3) as RowNumber1, ppp.*
          from test ppp
         where ppp.p2 is null) aaa,
       (select ROW_NUMBER() OVER(ORDER BY qqq.p3) as RowNumber1, qqq.*
          from test qqq
         where qqq.p1 is null) bbb
 where
  (aaa.p3 = bbb.p3 and aaa.p4 = bbb.p4)
 ) 
union all
( 
      select * from test where (p3,p4) not in (select p3,p4 from test group by p3,p4 having count(*)>1)
) 
合并单表中某两行具有相同内容的数据合并单表中某两行具有相同内容的数据