SQL子查询中,当IN遇到字符串

sql子查询使用用IN来过滤,当子查询返回的数据为字符串类型时不能正确过滤数据。表结构和数据如下:地区ID城市1北京2上海3天津4广州管理ID城市5'北京','上海'需要... sql子查询使用用IN来过滤,当子查询返回的数据为字符串类型时不能正确过滤数据。
表结构和数据如下:

地区
ID 城市
1 北京
2 上海
3 天津
4 广州

管理
ID 城市
5 '北京','上海'

需要的查询结果:
ID 城市
1 北京
4 广州
我当前使用的SQL语句如下:
select id,城市 from 地区 where 城市 in(select 城市 from 管理 where id=5)

查询结果为空,请问如何解决?
更正:

需要的查询结果:
ID 城市
1 北京
2 上海
展开
 我来答
发生等将发生
2017-03-18 · TA获得超过478个赞
知道小有建树答主
回答量:653
采纳率:75%
帮助的人:326万
展开全部
管理
ID 城市
5 '北京','上海'
你这个实际上是一个字符串
查询的时候,将“'北京','上海'”当成一个字符串查询,所以查询不出来

select id,城市 from 地区 where (select 城市 from 管理 where id=5) like '%'+城市+'%'
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式