-- 没搞清楚楼主的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,#
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,#
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
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 行)
*/