表里数据排列如下:
id   编号   名称
----------------
1     101   名称101
2     102   名称102 
3     103   名称103
4     104   名称104
.......
我现在想显示成:编号   名称     编号   名称
----------------------------
101   名称101   102   名称102
103   名称103   104   名称104
......意思就是没两条数据组成新的一行,谢谢大家。

解决方案 »

  1.   

    select id, (case id % 2 when 1 then rq end),(case id % 2  when 0 then rq end) from T2
    上面只能達到這樣的效果。
    1      2007-06-01 00:00:00.000 NULL
    2      NULL 2007-06-02 00:00:00.000
    3      2007-06-03 00:00:00.000 NULL
      

  2.   

    谢谢xmlquit(下輩子再也不玩電腦)
      

  3.   

    create table kourr2004 
    (
     id int  ,
    编号 varchar (10) ,
    名称 varchar (10) )insert into kourr2004
    select 1 ,    '101' ,  '名称101' union all  select 
    2   ,  '102' ,  '名称102'  union all  select 
    3 ,    '103' ,  '名称103' union all  select 
    4   ,  '104',   '名称104'
    select A.编号, A.名称 ,B.编号, B.名称  from 
    (select  编号, 名称 from kourr2004 where id%2 =1)A,(select   编号, 名称 from kourr2004 where id%2 =0)B只不过有
    交叉
      

  4.   

    select a.编号,a.名称,b.编号,b.名称 from
    (select 编号,名称 from y where pkid%2 = 1) a,
    (select 编号,名称 from y where pkid%2 = 0) b
    where b.编号-a.编号 = 1
      

  5.   

    也可以这样,因为默认采用交叉连接
    select a.编号,a.名称,b.编号,b.名称 from
    (select (pkid+1) pkid,编号,名称 from y where pkid%2 = 1) a inner join
    (select pkid,编号,名称 from y where pkid%2 = 0) b
    on a.pkid = b.pkid
      

  6.   

    select a.编号,a.名称,b.编号,b.名称 from
    (select (pkid+1) pkid,编号,名称 from y where pkid%2 = 1) a inner join
    (select pkid,编号,名称 from y where pkid%2 = 0) b
    on a.pkid = b.pkid