有一个表   provincelist,里面有 ID,provincename  字段,里面有一些省份,
然后有一个 user表,里面有一个province 字段
现在我想查找出   user表里面  ,有字段province  符合provincelist里面的值,现在问题是province字段和provincename的值不相同,不如  province=广东省   而  provincena =广东,我想用like,但有不太行

解决方案 »

  1.   

    用like 怎么不行?
    select * from [user] A where exists(select 1 from [provincelist] b where A.province like '%'+provincename+'%' or provincename like '%'+A.province+'%')
      

  2.   

    用charindex()试试还不能解决的话   建议你贴出两个表的结构   还有及条测试数据   以及对应的结果
      

  3.   

    where  charindex(provincename,province)>0 or  charindex(province,provincename)>0 
      

  4.   

    你表结构有问题,user表里province字段应该保存的是provincelist里的ID,而不应该保存文本。照你现在的做法provincelist表没什么意义了。
    建议把user表province值先手工改为与provincelist中provincename一样的值,然后update一下把user表province的值匹配provincelist中ID值,再把province改为int型并设置外键关系