分拆统计字符串


create table keytb(id int ,keywords NVARCHAR(1000))

insert keytb select 1,'a,b,c,d'
UNION ALL    select 2,'a,d'
UNION ALL    select 3,'a,c,d'
UNION ALL    select 3,'a,b,c'

select top 1000 id=identity(int 1,1from syscolumns a,syscolumns b

select keywords=substring(a.keywords,b.id,CHARINDEX(',',a.keywords+',',b.id)-b.id),
cnt
=count(DISTINCT a.id)
from keytb a,ord1 b
where b.id<=len(a.keywords)
      
and substring(','+a.keywords,b.id,1)=','
group by substring(a.keywords,b.id,CHARINDEX(',',a.keywords+',',b.id)-b.id)




posted @ 2008-11-26 11:15  roboth  阅读(177)  评论(0编辑  收藏  举报