联合查询小问题,求大神解决,速结贴
有一个表 provincelist,里面有 ID,provincename 字段,里面有一些省份,
然后有一个 user表,里面有一个province 字段
现在我想查找出 user表里面 ,有字段province 符合provincelist里面的值,现在问题是province字段和provincename的值不相同,不如 province=广东省 而 provincena =广东,我想用like,但有不太行
------解决方案--------------------用like 怎么不行?
select * from [user] A where exists(select 1 from [provincelist] b where A.province like '%'+provincename+'%' or provincename like '%'+A.province+'%')
------解决方案--------------------用charindex()试试
还不能解决的话 建议你贴出两个表的结构 还有及条测试数据 以及对应的结果
------解决方案--------------------where charindex(provincename,province)>0 or charindex(province,provincename)>0
------解决方案--------------------你表结构有问题,user表里province字段应该保存的是provincelist里的ID,而不应该保存文本。照你现在的做法provincelist表没什么意义了。
建议把user表province值先手工改为与provincelist中provincename一样的值,然后update一下把user表province的值匹配provincelist中ID值,再把province改为int型并设置外键关系