语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
select row_number() over(partition by pdctno order by pdctno) as id2 ,*
into #temp20from engmail
order by pdctno
select a1.pdctno,a1.eqdate,a2.eqdate,a3.eqdate
from #temp20 a1
left join #temp20 a2 on a1.pdctno=a2.pdctno and a2.id2=2
left join #temp20 a3 on a1.pdctno=a3.pdctno and a3.id2=3
left join #temp20 a4 on a1.pdctno=a4.pdctno and a4.id2=4
where a1.id2=1
drop table #temp20