题目大概如下:
【写一段 sql语句,
  表 TAB1 中的id 为自增长,增长量为1,表如下:
   
    id    tac  tbc    1      a1   b1
    2      a2   b2
    3      a3   b3
    4      a4   b4
    5      a5   b5要求输出如下:
   id  tac  tbc  id  tac  tbc    1   a1  b1   2   a2   b2
    3   a3  b3   4   a4   b4
    5   a5  b5   *   (注:* 表示任何字符)】这段sql语句怎么写啊? 请各位帮帮忙。谢谢啦!!

解决方案 »

  1.   

    SELECT *
    FROM tb AS A
        LEFT JOIN tb AS B
    ON A.id=B.id-1
    WHERE A.id % 2 = 1;
      

  2.   

    -------------------------------------------
    --  Author : liangCK 小梁
    --  Comment: 小梁 爱 兰儿
    --  Date   : 2009-07-10 16:07:15
    -------------------------------------------
     
    --> 生成测试数据: @T
    DECLARE @T TABLE (id INT,tac VARCHAR(2),tbc VARCHAR(2))
    INSERT INTO @T
    SELECT 1,'a1','b1' UNION ALL
    SELECT 2,'a2','b2' UNION ALL
    SELECT 3,'a3','b3' UNION ALL
    SELECT 4,'a4','b4' UNION ALL
    SELECT 5,'a5','b5'--SQL查询如下:SELECT *
    FROM @T AS A
        LEFT JOIN @T AS B
    ON A.id=B.id-1
    WHERE A.id % 2 = 1;/*
    id          tac  tbc  id          tac  tbc
    ----------- ---- ---- ----------- ---- ----
    1           a1   b1   2           a2   b2
    3           a3   b3   4           a4   b4
    5           a5   b5   NULL        NULL NULL(3 row(s) affected)*/
      

  3.   

    select * from 
    (select id,tac,tab from tb where id%2=1)aa
    left join 
    (select id,tac,tab from tb where id%2=0)bb
    on aa.id+1=bb.id
      

  4.   

    小梁的:SELECT *
    FROM @T AS A
        LEFT JOIN @T AS B
    ON A.id=B.id-1
    WHERE A.id % 2 = 1
      

  5.   


    SELECT *
    FROM TAB1  A
        LEFT JOIN TAB1 B
    ON A.id=B.id-1
    WHERE A.id % 2 = 1
      

  6.   


    select * from (select * from @t where id %2 = 1) a 
    left join
    (select * from @t where id % 2= 0) b 
    on a.id = b.id-1
      

  7.   

    学习啦,原来只要LEFT JION 就行啦
      

  8.   

    declare @tmp table (id int identity(1,1),tac char(10),tbc char(10))
    insert into @tmp (tac,tbc)
    select 'a1','b1'
    union all select 'a2','b2'
    union all select 'a3','b3'
    union all select 'a4','b4'
    union all select 'a5','b5'
    select a.*,b.*
    from @tmp a left join @tmp b on a.id=b.id-1
    where a.id % 2=1
      

  9.   

    我看了全部的答案,好像都不符合要求哦,人家说要数据id自动增加,就像access中自动编号的功能。而上面的功能都是查询而已,加入添加一个行呢,id可以自动为6吗?大家看清楚题目吧!!其实想id自动增加好简单,用一个单词就可以了,identity建表如下:
    create tab1

    id int identity,
    tb1 char(10),
    tb2 char(10)
    )插入数据如下:
    insert into tab1 (tb1,tb2)  values("a1","b1")
    其他数据如此类推插入。其实这里最关键就是加入一个单词而且,其他就像我们平时数据库操作一样。
               
      

  10.   

    create TABLE #TT (id INT,tac VARCHAR(2),tbc VARCHAR(2))
    INSERT INTO #TT
    SELECT 1,'a1','b1' UNION ALL
    SELECT 2,'a2','b2' UNION ALL
    SELECT 3,'a3','b3' UNION ALL
    SELECT 4,'a4','b4' UNION ALL
    SELECT 5,'a5','b5'select T1.*,T2.* from #TT T1 left join #TT T2 on T1.id=T2.id-1 where T1.id%2=1