读书人

为了学习分算得了什么-合并数据,该如

发布时间: 2012-03-02 14:40:28 作者: rapoo

为了学习,分算得了什么---------合并数据
昨天的帖子
http://community.csdn.net/Expert/topic/5700/5700979.xml?temp=.5231134

初步从ok.xsl
部名 工 员工姓名 假日期 假别名称 假 位
(K1) Q-0004 姚力 20070601 年休假 1 天
(K1) Q-0004 姚力 20070608 陪假 1 天
(K1) Q-0004 姚力 20070612 年休假 2 天
(K1) Q-0005 忠 20070601 年休假 0.5 天
(K2) Q-0031 丽 20070601 半薪病假 8 小
.........................................
要实现
部名 工 员工姓名 年休假 陪假 半薪病假
(K1) Q-0004 姚力 20070601 24小时 8小时
(K1) Q-0005 建忠 20070601 4小时
(K2) Q-0031 丽 20070601 8 小
.................................
时间单位为天的话,就要乘8,转化为小时。
以工号为唯一性,合并多条数据为一条。

..........
Help me !


[解决办法]
先踩下,开完会,帮你弄 ...
[解决办法]
先从excel读到datatable中.然后有两种方法,一种是先导入数据库,然后在数据库中计算,这样比较简单,做个groupby 就可另一种直接在datatblae中计算.DataView 按部门员工排序.循环.累加.或者,用dt.Compute( "sum(日期) ", "编号= '某个员工编号 ')
[解决办法]
declare @s varchar(8000)
set @s = 'select 部名,工,员工姓名 '
select @s = @s+ ', '+假别名称+ '=sum(case 假别名称 when ' ' '+假别名称+ ' ' ' then 假*(case 位 when ' '天 ' ' then 8 else 1 end) else 0 end) '
from tb group by 假别名称
exec(@s+ 'from tb group by 部名,工,员工姓名 ')

读书人网 >asp.net

热点推荐