select px=identity(int,1,1) ,* into # from tbselect a.title,b.title
from # a,# b
where a.px=b.px+1

解决方案 »

  1.   

    如果仅仅这样,需要临时表.
    select * , id = identity(int , 1 , 1) into tmp from tb
    select 
    max(case id%2 when 1 then title end) title1,
    max(case id%2 when 0 then title end) title2
    from tmp
    group by id/2
      

  2.   

    select px= identity(int,1,1),* into # from table1select max(case when px %2 = 1 then title else null end ) as title1,
           max(case when px %2 = 0 then title else null end ) as title2
    from #
    group by px/2
      

  3.   

    如果不要求按行取,可以使用如下:select 
    max(case id%2 when 1 then title end) title1,
    max(case id%2 when 1 then title end) title2
    from
    (
      select * , id = (select count(*) from tb where title < t.title) + 1 from tb t
    ) m
    group by id/2
      

  4.   

    如果仅仅这样,需要临时表. 
    select * , id = identity(int , 1 , 1) into tmp from tb 
    select  
    max(case id%2 when 1 then title end) title1, 
    max(case id%2 when 0 then title end) title2 
    from tmp 
    group by (id-1)/2 如果不要求按行取,可以使用如下: select  
    max(case id%2 when 1 then title end) title1, 
    max(case id%2 when 1 then title end) title2 
    from 

      select * , id = (select count(*) from tb where title  < t.title) + 1 from tb t 
    ) m 
    group by (id-1)/2
      

  5.   

    问题解决,结贴正解是:
    select * , id = identity(int , 1 , 1) into tmp from tb 
    select  
    max(case id%2 when 1 then title end) title1, 
    max(case id%2 when 0 then title end) title2 
    from tmp 
    group by (id-1)/2