select a.col as 列一,b.col as 列二
from t a inner join t b
on (select count(*) from t where id<a.id)
=(select count(*) from t where id<b.id)+1
from t a inner join t b
on (select count(*) from t where id<a.id)
=(select count(*) from t where id<b.id)+1
declare @ID int
select @ID = max(ID) from 表
select *,列一 as 列二 from 表 where ID > (@ID/2 - 1)
delete from 表 where ID > (@ID/2 -1)
select * from
(
select NewID,ID,Name from #TempA
where ID<=(select (Count(*)+1)/2 from #TempA)
) a
left join
(
select NewID-(select (Count(*)+1)/2 from #TempA) as New ID,ID,Name from #TempA
where ID>(select (Count(*)+1)/2 from #TempA)
) b on a.NewID=b.NewID
from t a left join t b
on (select count(*) from t where id<a.id)
=(select count(*) from t where id<b.id)+1
select b.id as 列二,a.id as 列一
from t a inner join t b
on (select count(*) from t where id<a.id)-1
=(select count(*) from t where id<b.id)+1
select a.ID,a.Name,b.ID,b.Name from
(
select NewID,ID,Name from #TempA
where NewID<=(select (Count(*)+1)/2 from #TempA)
) a
left join
(
select NewID-(select (Count(*)+1)/2 from #TempA) as NewID,ID,Name from #TempA
where NewID>(select (Count(*)+1)/2 from #TempA)
) b on a.NewID=b.NewID
Drop Table #TempA
from t a left join t b
on (select count(*) from t where id<=a.id) --这里应<=
=(select count(*) from t where id<=b.id)+1 --这里应<=