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

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

(
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)
)