原表结构
A B C
AA BB 3
期望值
A B C
AA CC 1
AA DD 1
AA EE 1期望:根据原表的C字段数据生成新表,其中新表行数为原表的C列值,B字段值为新赋值,求实现方式。

解决方案 »

  1.   

    USE test
    GO-->生成表tbif object_id('tb') is not null 
    drop table tb
    Go
    Create table tb([A] nvarchar(2),[B] nvarchar(2),[C] smallint)
    Insert into tb
    Select N'AA',N'BB',3
    UNION ALL Select N'aa',N'bb',4 -- test
    select 
    a.A
    ,REPLICATE(NCHAR(UNICODE(a.B)+b.number),LEN(a.B)) AS B
    ,1 AS C
    from 
    tb AS a
    ,master.dbo.spt_values AS b 

    WHERE b.type='p'
    AND b.number BETWEEN 1 AND a.C
    /*
    A    B    C
    ---- ---- ---
    AA   CC   1
    AA   DD   1
    AA   EE   1
    aa   cc   1
    aa   dd   1
    aa   ee   1
    aa   ff   1
    */
      

  2.   

    原表结构
    A 成绩 C
    AA BB 3
    期望值
    A B C
    AA 语文 1
    AA 数学 1
    AA 历史 1期望值是如此形式的,但是根据代码看来是有规律的,如果生成新表中是规律的值呢?
      

  3.   


    原表结构
    A 成绩 C
    AA BB 3
    期望值
    A B C
    AA 语文 1
    AA 数学 1
    AA 历史 1期望值是如此形式的,但是根据代码看来是有规律的,如果生成新表中是规律的值呢?