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

原创
2016-06-07 14:57:25 1361浏览

合并单表中某两行具有相同内容的数据,变成一行数据来显示。 现为合并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)
) 
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:PLSQL生成流水号 下一条:SQL中的escape