lsxaa(小李铅笔刀) where charindex('输入内容',工作省1+'-'+工作市1+';'+工作省2+'-'+工作市2+';'+...)>0 这个是什么意思呢?工作省1这是我的自段名啊
我知道是你的字段名,charindex 是一个函数
省份字典表 ----------------------- ProvinceID int ProvinceName varchar(20)城市字典表 ----------------------- CityID int CityName varchar(20) 职位发布信息表 ----------------------- JobID int ... 职位发布地区表 ----------------------- JobID int ProvinceID int CityID int
查询就简单了,比如现在数据库里是: 工作省 工作市 山东省 济南市 湖南省 地区不限--这种情况你保存时工作市可以为空 湖北省 武汉市查询语句: select * from t where 工作省='山东省' and 工作市='济南市'--查'山东省'、'济南市' select * from t where 工作省='山东省'--查“山东省”、地区不限
用户表
UserID UserName ... ...
工作地点
UserID 省 市
这样建个对应关系,查询起来,先查工作地点,再看对应的用户ID
比如现在数据库里是
一个自段是
山东省|湖南省|湖北省
一个自段是
济南市|地区不限|武汉市那我怎么查询?
where charindex('输入内容',工作省1+'-'+工作市1+';'+工作省2+'-'+工作市2+';'+...)>0
这个是什么意思呢?工作省1这是我的自段名啊
-----------------------
ProvinceID int
ProvinceName varchar(20)城市字典表
-----------------------
CityID int
CityName varchar(20)
职位发布信息表
-----------------------
JobID int
...
职位发布地区表
-----------------------
JobID int
ProvinceID int
CityID int
工作省1 工作市1 工作省2 工作市2 工作省3 工作市3
湖南省 长沙市 湖北省 地区不限 山东省 济南市那客户输入,湖南省-地区不限,那么sql就这么写
where charindex('输入内容',工作省1+'-'+"地区不限"+';'+工作省2+'-'+”地区不限“+';'+...)>0这样判断一下分别写sql就行了,对吗?
工作省 工作市
山东省 济南市
湖南省 地区不限--这种情况你保存时工作市可以为空
湖北省 武汉市查询语句:
select * from t where 工作省='山东省' and 工作市='济南市'--查'山东省'、'济南市'
select * from t where 工作省='山东省'--查“山东省”、地区不限
你的意思是,如果公司发布职位输入了”山东省-济南市“,”湖北省-武汉市“,那么进数据库里就是工作省 工作市
山东省 济南市
湖北省 武汉市而不是
工作省 工作市
山东省|湖北省 济南市|武汉市是这样把
工作省1 工作市1 工作省2 工作市2 工作省3 工作市3
湖南省 长沙市 湖北省 地区不限 山东省 济南市那客户输入,湖南省-地区不限,那么sql就这么写
where charindex('输入内容',工作省1+'-'+"地区不限"+';'+工作省2+'-'+”地区不限“+';'+...)>0这样判断一下分别写sql就行了,对吗?-----------------------------
对啊
id name
01 湖北省
02 廣東省市級表b:
id name
01 不限
02 武漢市if b.id='01'
@wherestr=' where a.id='01'
else
@wherestr=' where a.id='01' and b.id='02'