有张表 table1:
ID      YR      MD     PD1        PD2      PD3      ......      PD30     PD311       2005    1       50         60       70      ......       50        32
2       2005    2       40         45       65      ......      null      null
3       2005    3       12         15       61     ......       25        null
.        .
.        .
.        .
.        .
12      2005     12      52         12       85     ......        54       21
13      2006     1       54         85       45     ......        85       54字段:YR是年,MD是月,PD1、PD2.....PD31是 每个月的日子下的数据 比如: PD1 就是当月1号的数据,PD2就是当月2号的数据,以此类推。
现在要把这个table1重新构造成table2
table2
ID                    TM                    D1                  2005-01-01               50
2                  2005-01-02               60
3                  2005-01-03               70
.                     
.
.
.
365                2005-12-31               54这怎么做啊?

解决方案 »

  1.   

    select ID,
           ltrim(yr)+'-'+ltrim(md)+'1',
           PD1
    from table1
    union all
    select ID,
           ltrim(yr)+'-'+ltrim(md)+'2',
           PD2
    from table1
    .....
    union all
    select ID,
           ltrim(yr)+'-'+ltrim(md)+'31',
           PD31
    from table1
    --PS 要排除沒有31日的天
      

  2.   

    先谢谢各位啊!前面的这方法可能行不通啊!
    我的数据量很大啊!
    table1就有几千条啊!
    有没有其他的方法啊?
      

  3.   

    在补充一下!
    table2是已有的表了!
    只用冲table1把数据插入到table2里!
    但是table2的结构是定了的!