现有两表:
A表:
id    PolicyNo   PN1     543543545  2
2     rewrwe543  4
3     45434r43   1
4     4543r3     2
5     ewwqewq    5B表:
id    PolicyNo   TermNo要求根据A表PN值。插所对应的数据到B表。比如:PN=2,那就插入两条
id    PolicyNo   PN1     543543545  2
数据到B表。以此类推。不知道怎么做~麻烦哪位告知?

解决方案 »

  1.   

    /*
    *************************************
    *   T-MAC 小编                      *
    *        -->努力成长中              *
    *        -->梦想DBA                 *
    *************************************
    */
    if OBJECT_ID('tb') is not null
    drop table tb 
    go
    create table tb (id  int, PolicyNo varchar(10) , PN int)
    insert tb select 
    1,    '543543545',  2 union select 
    2,    'rewrwe543',  4 union select
    3,    '45434r43' , 1 union select
    4,    '4543r3'   , 2 union select
    5,    'ewwqewq' ,   5 
    go
    select id=IDENTITY(int,1,1),t.PolicyNo,TermNo=s.number
    into b 
    from tb t join master..spt_values s 
    on s.number between 1 and t.PN
    where s.type='P'
    go
    select * from b
    /*
    id          PolicyNo   TermNo
    ----------- ---------- -----------
    1           543543545  1
    2           543543545  2
    3           rewrwe543  1
    4           rewrwe543  2
    5           rewrwe543  3
    6           rewrwe543  4
    7           45434r43   1
    8           4543r3     1
    9           4543r3     2
    10          ewwqewq    1
    11          ewwqewq    2
    12          ewwqewq    3
    13          ewwqewq    4
    14          ewwqewq    5*/
      

  2.   

    没想到那么简单~我还用游标呢~~也实现不了。就是不知道master..spt_values是什么?