SQL语句如何模糊查询两个表中两列的包含情况 50
有两个表,一个为企业信息表(表A),一个为参保单位表(表B),两个表中只有一列"单位名称"相类似但是又不完全相同,现在想利用SQL语句查询在表A单位名称列中有但是在表B中...
有两个表,一个为企业信息表(表A),一个为参保单位表(表B),两个表中只有一列"单位名称"相类似但是又不完全相同,现在想利用SQL语句查询在表A单位名称列中有但是在表B中没有的记录并筛选出来,该怎么编写语句。
展开
2个回答
展开全部
select * from 表名 where [col1] like convert(nvarchar,'%'+(select col2 from dbo.userinfo where 条件)+'%') //注意 因为 like '%%这里面的模糊查询数量唯一 所以 (select col2 from dbo.userinfo where 条件) 必须唯一 这里就不能再有几个条件了 追问: 如果数据是在两张表呢?即表A col1 大连市中山区 表B col2 中山 怎样能查处col1包含col2的数据呢? 回答: select * from 表名1 where [col1] like convert(nvarchar,'%'+(select col2 from 表名2 where 条件)+'%') 这里有2个 % 如果你想要 中山%就去掉前面一个 具体点就是 如果 要 %中山 就去掉后面一个比如你要选择 col1 的数据要和某个酒店所在的地方 比如 表B col3 中存的是酒店名称 酒店是 万达酒店 对应的 col2是 中山 select * from 表名1 where [col1] like convert(nvarchar,'%'+(select col2 from 表名2 where col3 ='万达酒店')+'%') 这样就筛选出了 所有和万达酒店所在地方名字类似的地区了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询