首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

行列转换的巨难的有关问题,请帮帮忙吧,呀!50分,再加也行

2012-01-12 
行列转换的巨难的问题,请各位高手帮帮忙吧,在线等呀!!50分,再加也行我有这样一个表其中work_id为work_name

行列转换的巨难的问题,请各位高手帮帮忙吧,在线等呀!!50分,再加也行
我有这样一个表   其中work_id   为work_name   的编码

work_name         ch_people_id   work_id       last_time                 d_date
定额工时                   11NULL                   2007-06-13
停电影响工时122.00                   2007-06-13
备品备件影响工时130.00                   2007-06-13
吊车车辆影响工时140.00                   2007-06-13
操作车间影响工时150.00                   2007-06-13
检修难度大影响工时160.00                   2007-06-13
补偿工时                   170.00                   2007-06-13
估工                   180.00                   2007-06-13
打扫卫生                   190.00                   2007-06-13
开会                   1100.00                   2007-06-13
学习                   1110.00                   2007-06-13
文体活动                   1120.00                   2007-06-13
病假                   1130.00                   2007-06-13
事假                   1140.00                   2007-06-13
旷工                   1150.00                   2007-06-13
其它                   1160.00                   2007-06-13
定额工时                   21NULL                   2007-06-13
停电影响工时222.00                   2007-06-13
备品备件影响工时230.00                   2007-06-13
吊车车辆影响工时240.00                   2007-06-13
操作车间影响工时250.00                   2007-06-13
检修难度大影响工时260.00                   2007-06-13
补偿工时                   270.00                   2007-06-13
估工                   280.00                   2007-06-13
打扫卫生                   290.00                   2007-06-13
开会                   2100.00                   2007-06-13


学习                   2110.00                   2007-06-13
文体活动                   2120.00                   2007-06-13
病假                   2130.00                   2007-06-13
事假                   2140.00                   2007-06-13
旷工                   2150.00                   2007-06-13
其它                   2160.00                   2007-06-13

想转换成这种类型
ch_people_id   定额工时     停电影响工时   备品备件影响工时   吊车车辆影响工时   .....
1                           null                   2                           0                               0
2                           null                   2                           0                               0
.
.  
.
就是说把   这个work_name或者work_id   转成列

[解决办法]
declare @sql varchar(8000)
set @sql = ' '
select @sql = @sql + ', ' + work_name + '=sum(case when ' ' ' + work_name + ' ' ' then last_time end) '
from table group by work_name
set @sql = 'select ch_people_id ' + @sql + ' from table group by ch_people_id '
EXEC(@sql)

热点排行