联合查询小问题,求大神解决,速结贴

agayboy 2013-02-19 01:29:58
有一个表 provincelist,里面有 ID,provincename 字段,里面有一些省份,
然后有一个 user表,里面有一个province 字段
现在我想查找出 user表里面 ,有字段province 符合provincelist里面的值,现在问题是province字段和provincename的值不相同,不如 province=广东省 而 provincena =广东,我想用like,但有不太行
...全文
149 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kongwu525 2013-02-19
你表结构有问题,user表里province字段应该保存的是provincelist里的ID,而不应该保存文本。照你现在的做法provincelist表没什么意义了。 建议把user表province值先手工改为与provincelist中provincename一样的值,然后update一下把user表province的值匹配provincelist中ID值,再把province改为int型并设置外键关系
  • 打赏
  • 举报
回复
rucypli 2013-02-19
where charindex(provincename,province)>0 or charindex(province,provincename)>0
  • 打赏
  • 举报
回复
用charindex()试试 还不能解决的话 建议你贴出两个表的结构 还有及条测试数据 以及对应的结果
  • 打赏
  • 举报
回复
chuifengde 2013-02-19
用like 怎么不行?
select * from [user] A where exists(select 1 from [provincelist] b where A.province like '%'+provincename+'%' or provincename like '%'+A.province+'%')
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2013-02-19 01:29
社区公告
暂无公告