日期:2014-05-17 浏览次数:20442 次
姓名 完成项目
王 项目一/2*项目二/4*项目二/4
王 项目二/1*项目三/1
张 项目一/1*项目三/3
王
我想得出
行么 完成项目 完成次数
王 项目一 1
王 项目二 9
王 项目三 1
张 项目一 1
张 项目三 3
create table #( name varchar(20),item varchar(60))
insert into #
select '王', '项目一/2*项目二/4*项目二/4' union all
select '王', '项目二/1*项目三/1' union all
select '张', '项目一/1*项目三/3'
select top 100 id=identity(int,1,1) into #1 from sysobjects
update #
set item=replace(item,'/','*')
select id=identity(int,1,1), name,substring(t1.item,t2.id,charindex('*',t1.item+'*',t2.id)-t2.id) item1 into #3 from # t1,#1 t2
where substring('*'+t1.item,t2.id,1)='*'
select name,item1,sum(cast(num as int))num
from(
select name,item1,(select item1 from #3 where t.name=name and id=t.id+1)num from #3 t where id%2=1
)a group by name,item1
order by name,item1
/*
name item1 num
-------------------- ------------------------ -----------
王 项目二 9
王 项目三 1
王 项目一