-- 没搞清楚楼主的TOP 10 关键词是按什么-- 下面是直接分拆的处理示例-- 示例-- 示例数据
CREATE TABLE tb(number char(3),关键词组 nvarchar(100),客户 nvarchar(100))
INSERT tb SELECT N'001',N'网站 建站 租用空间',N'××网络公司'
UNION ALL SELECT N'002',N'花卉 鲜花',N'××花店'
UNION ALL SELECT N'003',N'笔 墨 砚',N'××文具店'
GP-- 统计查询
SELECT ID=IDENTITY(int,1,1) INTO # FROM syscolumns a,syscolumns b
SELECT A.number,
关键词=SUBSTRING(A.关键词组,B.ID,CHARINDEX(N' ',A.关键词组+N' ',B.ID)-B.ID),
A.客户
FROM tb A, # B
WHERE CHARINDEX(N' ',N' '+A.关键词组,B.ID)=B.ID
GO-- 删除测试
DROP TABLE tb,#

解决方案 »

  1.   

    declare @keywords varchar(8000)
    select @keywords=''
    select @keywords=@keywords+space()+关键词组 from 表
    select @keywords=ltrim(rtrim(@keywords))declare @tb table(keyword varchar(20))while charindex(' ',@keywords)>0
    begin
          insert @tb select left(@keywords,charindex(' ',@keywords)-1)
          set @keywords=stuff(@keywords,1,charindex(' ',@keywords),'')
    end--查询
    select top 10 *
    from @tb A
    left join 表 B on charindex(A.keyword,B.关键词组)>0
      

  2.   

    借用楼上数据:CREATE TABLE tb(number char(3),关键词组 nvarchar(100),客户 nvarchar(100))
    INSERT tb SELECT N'001',N'网站 建站 租用空间',N'××网络公司'
    UNION ALL SELECT N'002',N'花卉 鲜花',N'××花店'
    UNION ALL SELECT N'003',N'笔 墨 砚',N'××文具店'
    Godeclare @keywords varchar(8000)
    select @keywords=''
    select @keywords=@keywords+space(1)+关键词组 from tb
    select @keywords=ltrim(rtrim(@keywords))declare @tb table(keyword varchar(20))while charindex(' ',@keywords)>0
    begin
          insert @tb select left(@keywords,charindex(' ',@keywords)-1)
          set @keywords=stuff(@keywords,1,charindex(' ',@keywords),'')
    end
    insert @tb select @keywords--查询
    select top 10 B.number
                  ,A.keyword
                  ,B.客户
    from @tb A
    left join tb B on charindex(A.keyword,B.关键词组)>0--结果
    /*
    number keyword              客户         
    ------ -------------------- ----------------
    001    网站                   ××网络公司
    001    建站                   ××网络公司
    001    租用空间                 ××网络公司
    002    花卉                   ××花店
    002    鲜花                   ××花店
    003    笔                    ××文具店
    003    墨                    ××文具店
    003    砚                    ××文具店(所影响的行数为 8 行)
    */