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

agayboy 2013-02-19 01:29:58
有一个表 provincelist,里面有 ID,provincename 字段,里面有一些省份,
然后有一个 user表,里面有一个province 字段
现在我想查找出 user表里面 ,有字段province 符合provincelist里面的值,现在问题是province字段和provincename的值不相同,不如 province=广东省 而 provincena =广东,我想用like,但有不太行
...全文
170 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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+'%')

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧