有一个表A结构及数据分布如下:
oid subsid servid attrid attrvalue startdate  enddate
1   2232    A      BB1     VBB1         2010-1-1 2010-12-1
1   2232    A      BB2     VBB2         2010-1-1 2010-12-1
1   2232    A      BB3     VBB3         2010-1-1 2010-12-1
1   2232    A      BB4     VBB4         2010-1-1 2010-12-1
1   2232    A      BB5     VBB5         2010-1-1 2010-12-1
1   2232    A      BB11    VBB11        2010-1-1 2010-12-1
1   2232    A      BB22    VBB22        2010-1-1 2010-12-1
1   2232    A      BB33    VBB33        2010-1-1 2010-12-1
1   2232    A      BB44    VBB44        2010-1-1 2010-12-1
1   2232    A      BB55    VBB55        2010-1-1 2010-12-1
1   2232    A      BB101    VBB101      2010-1-1 2010-12-1
1   2232    A      BB202    VBB202      2010-1-1 2010-12-1
1   2232    A      BB303    VBB303      2010-1-1 2010-12-1
1   2232    A      BB404    VBB404      2010-1-1 2010-12-1
1   2232    A      BB505    VBB505      2010-1-1 2010-12-1这种格式的数据可能不止5个,会动态变化表A转换为以下数据结构1  2232   A  BB1  VBB1 BB11 VBB11  BB101 VBB101  2010-1-1 2010-12-1
1  2232   A  BB2  VBB2 BB22 VBB22  BB202 VBB202  2010-1-1 2010-12-1
1  2232   A  BB3  VBB3 BB33 VBB33  BB303 VBB303  2010-1-1 2010-12-1
1  2232   A  BB4  VBB4 BB44 VBB44  BB404 VBB404  2010-1-1 2010-12-1
1  2232   A  BB5  VBB5 BB55 VBB55  BB505 VBB505  2010-1-1 2010-12-1请高手指点迷津,谢谢!

解决方案 »

  1.   

    http://topic.csdn.net/u/20100109/13/6a10c168-f190-4766-b838-adbf03c4ac7b.html?64786
      

  2.   

    要转的列不固定的话 一个SQL不行  得用存储过程
      

  3.   

    将attrid 字段中,如果最后一个字符相同,则将其转换为一行,但是要在原表中是同一行的数据连在一起。
    如:
    oid subsid servid attrid attrvalue attrid attrvalue attrid attrvalue startdate enddate
    1    2232    A      BB1   VBB1     BB11 VBB11      BB101 VBB101    2010-1-1 2010-12-1
    字符串最后一位都是1
    但是不一定就是从1到4这样的字符串,可能是从1到5人,或1到2这样的进行转换。