日期:2014-05-18  浏览次数:20529 次

大家看看这个语句如何写?
一个超级难的问题,表中字段contents存储的是文章,我需要用语句识别出来,这篇文章是属于那个地区的。其中info表是文章表,diqu表是存储地区的表。用这个下面的语句能实现要的效果,但是不是太精确。因为文章字段contents可能含有多个地区。
各位高手看看。select   t.contents,d.dq
from   info   t
join   diqu   d   on   charindex(d.dq,convert(varchar(8000),t.contents))   > 0     and   intime> '2007-8-24 '   order   by   title


--------------------
表diqu
21 辽宁
22 吉林
23 黑龙江
31 上海
32 江苏
33 浙江
34 安徽
35 福建
36 江西

表info
title   广西调整企业退休人员基本养老金  
contents   8月27日,记者从广西自治区劳动和社会保障厅获悉,我区将在一定范围内调整企业退休人员基本养老金,本次调整时间从7月1日开始。         按照规定,参加本次调整基本养老金的人员包括三类:一是2006年12月31日前已经按规定办理退休(退职)手续,并已经按月领取基本养老金的企业退休(退职)人员。二是已经参加了城镇企业职工基本养老保险,并在2006年12月31日前已经按规定办理退休(退职)手续,且已经按月领取基本养老金的企业化管理事业单位的退休(退职)人员。三是已经参加了城镇企业职工基本养老保险,并在2006年1



------解决方案--------------------
语句没错.
select t.contents,d.dq
from info t
join diqu d on charindex(d.dq,convert(varchar(8000),t.contents)) > 0 and intime> '2007-8-24 ' order by title

因为文章字段contents可能含有多个地区。
多个地区具体算哪个?还是都算?