表中是这样,
部门号     部门信息
   1        部门一
   2        部门二
   3        部门三
   4        部门四
现在想得到结果如下:
部门号     部门信息    部门分号
   1        部门一         1
   1        部门一         2
   2        部门二         1
   2        部门二         2
   1        部门三         1
   1        部门三         2
   1        部门四         1
   1        部门四         2
就是将原来的部门划分两个,全部在分类为1,2如何搞,多谢!

解决方案 »

  1.   

    select m.* , n.部门分号 from tb m,
    (select 1 部门分号 union all select 2 部门分号) n
      

  2.   


    select a.*,部门分号=number
    from tb  a
         inner join master..spt_values b on b.type='p'
    where number between 1 and 2??
      

  3.   

    create table tb(部门号 int,   部门信息 varchar(10))
    insert into tb values(1 ,       '部门一') 
    insert into tb values(2 ,       '部门二') 
    insert into tb values(3 ,       '部门三') 
    insert into tb values(4 ,       '部门四')
    goselect m.* , n.部门分号 from tb m,
    (select 1 部门分号 union all select 2 部门分号) ndrop table tb /*
    部门号         部门信息       部门分号        
    ----------- ---------- ----------- 
    1           部门一        1
    1           部门一        2
    2           部门二        1
    2           部门二        2
    3           部门三        1
    3           部门三        2
    4           部门四        1
    4           部门四        2(所影响的行数为 8 行)*/
      

  4.   


    select 部门号,部门信息,1 部门分号
    from 部门
    union all 
    select 部门号,部门信息,2 部门分号
    from 部门
      

  5.   

    SELECT B.* FROM A,B 
    WHERE A.部门号=B.部门号 AND A.部门信息=B.部门信息 
    GROUP BY 部门号, 部门信息,部门分号   HAVING COUNT(*)=2
      

  6.   

    SELECT B.* FROM A,B 
    WHERE A.部门号=B.部门号 AND A.部门信息=B.部门信息 
    GROUP BY B.部门号, B.部门信息,B.部门分号   HAVING COUNT(B.*)=2
      

  7.   

    --2005----------------------------------------------------------------
    -- Author  :fredrickhu(我是小F,向高手学习)
    -- Date    :2009-10-13 09:17:41
    -- Version:
    --      Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) 
    -- Nov 24 2008 13:01:59 
    -- Copyright (c) 1988-2005 Microsoft Corporation
    -- Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
    --
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([部门号] int,[部门信息] varchar(6))
    insert [tb]
    select 1,'部门一' union all
    select 2,'部门二' union all
    select 3,'部门三' union all
    select 4,'部门四'
    --------------开始查询--------------------------
    select *,部门分号=row_number() over(partition by  部门信息 order by 部门号,部门信息) from 
    (select * from [tb] a
    union all
    select * from [tb] b
    )t
    order by 1
    ----------------结果----------------------------
    /* 部门号         部门信息   部门分号
    ----------- ------ --------------------
    1           部门一    1
    1           部门一    2
    2           部门二    1
    2           部门二    2
    3           部门三    1
    3           部门三    2
    4           部门四    1
    4           部门四    2(8 行受影响)*/