一行数据如何按列的值统计
id d1 d2 d3 d4 d5 d6 d7 病假 事假 旷工
------------------------
001 |病| | | 事 | | | | | |
002 | | 病| | | 旷| | | | |
003 |事| | | | | 病 | 旷 | | |
如何将每行的病假、事假、旷工的次数统计到最后三列里?
如果不是按周(7天)统计,而是按月(31天)呢?
自己只想出最笨的 用游标一行行计算然后更新
数据量很恐怖……
------解决方案--------------------update tb set
病假=len(replace(replace(isnull([d1], ' ')+isnull([d2], ' ')+isnull([d3], ' ')+isnull([d4], ' ')+isnull([d5], ' ')+isnull([d6], ' ')+isnull([d7], ' '), '事 ', ' '), '旷 ', ' ')),
事假=len(replace(replace(ltrim([d1])+ltrim([d2])+ltrim([d3])+ltrim([d4])+ltrim([d5])+ltrim([d6])+ltrim([d7]), '病 ', ' '), '旷 ', ' ')),
旷工=len(replace(replace(ltrim([d1])+ltrim([d2])+ltrim([d3])+ltrim([d4])+ltrim([d5])+ltrim([d6])+ltrim([d7]), '事 ', ' '), '病 ', ' '))