日期:2014-05-18  浏览次数:20473 次

请问一个分组查询的问题
请问一个比较烦琐的分组查询语句,数据格式如下所示
FlowID                 DeptID                                             DTime
4 ,,1,13,13,1,2,                             2007-07
6 ,2,1,1,1,1,1,1,17,                             2007-07
29 ,2,2,1,1,13,13,13,1,1,2,           2007-07
30 ,2,1,13,13,1,                             2007-08
31 ,,1,17,17,1,17,17,1,1,,           2007-08
33 ,2,1,4,1,1,2,                             2007-08
37 ,2,2,2,2,3,2,                             2007-08
54 ,2,2,2,3,2,                             2007-08

我想检索成这样的格式,把DeptID分解开(去掉重复的)
FlowID               DeptID                 DTime
4                             1                     2007-07
4                             2                     2007-07
4                           13                     2007-07
6                             1                     2007-07
..................

或者直接统计出来
DeptID                 Count                       DTime
1                             3                           2007-07
1                             3                           2007-08
2                             3                           2007-07
2                             4                           2007-08
.....................................

请高手帮忙,谢谢,如果分不够可以另外开帖,穿着裤衩只能一贴最多只能100,谅解谅解,呵呵。


------解决方案--------------------
自定义函数 + 游标
处理
------解决方案--------------------

declare @t table (
FlowID int,
DeptID varchar(30),
DTime varchar(10)
)
insert @t select
4, ',,1,13,13,1,2, ' ,