select * from tableA tem where exists(select 1 from table_keyword where charindex(keyword,tem.province)>0 and wordID in (select wordid from table_keyword where keyword='福建'))这个速度快些。

解决方案 »

  1.   

    现在问题是
    用户输入labor
    则把general labor或special labor找出,而laboratory不找出.
    即要求匹配整个单词.
      

  2.   

    select * from tableA tem where exists(select 1 from table_keyword where charindex(' '+keyword+' ',' '+tem.province+' ')>0 and wordID in (select wordid from table_keyword where keyword='福建'))
      

  3.   

    select * from tableA tem where exists(select 1 from table_keyword where charindex(' '+keyword+' ',' '+tem.province+' ')>0 and wordID in (select wordid from table_keyword where keyword='labour'))or:
    select * from tableA tem where exists(select 1 from table_keyword where ' '+tem.province+' ' like '% '+keyword+' %' and wordID in (select wordid from table_keyword where keyword='福建'))
      

  4.   

    keyword1=keyword+' '
    keyword2=' '+keywordselect * from tableA tem where exists(select 1 from table_keyword where (tem.province like '%'+keyword1+'%' or tem.province like '%'+keyword2+'%' )
    and (wordID in (select wordid from table_keyword where keyword='福建')))