大家看看这个语句怎么写?
想通过语句检测law表的title中含有的关键词,keyword表的keyword字段是关键词
select t.title ,d.keyword
from law t
join keyword d on charindex(d.keyword,t.title) > 0
上面语句实现的效果是
-----------------------------------
上海市企业职工最低工资规定 企业职工
上海市企业职工最低工资规定 工资
上海市企业职工最低工资规定 最低工资
想要实现的效果是
---------------------------------------------------
上海市企业职工最低工资规定 企业职工 工资 最低工资
------解决方案----------------------创建一个合并的函数
create function f_hb(@title varchar(50))
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str = ' '
select @str = @str + ', ' + cast(keyword as varchar) from
(
select t.title ,d.keyword
from law t
join keyword d on charindex(d.keyword,t.title) > 0
) t
where title = @title
set @str = right(@str , len(@str) - 1)
return(@str)
End
go
--调用自定义函数得到结果:
select distinct title ,dbo.f_hb(title) as keyword from
(
select t.title ,d.keyword
from law t
join keyword d on charindex(d.keyword,t.title) > 0
) m