mysql的in 子查询问题,知道的解惑一下

MySql 码拜 8年前 (2016-09-25) 1074次浏览
先上sql
SELECT * from person p
where p.uid=7 and p.`subject` in (SELECT `subject` from activity_settings where nid = 101);
这是一个很简单的sql,子查询的数据是39,41,43这种字符串类型的,但是这边就是不能获取相应的值,而假如子查询数据只有单个如39,就可以获取到数据,讨教高手
解决方案

10

的博客:http://blog.sina.com.cn/s/blog_4d399df4010009zz.html

10

本人只能说  in是可以用于子查询是字符串类型的操作

10

引用:

先上sql
SELECT * from person p
where p.uid=7 and p.`subject` in (SELECT `subject` from activity_settings where nid = 101);
这是一个很简单的sql,子查询的数据是39,41,43这种字符串类型的,但是这边就是不能获取相应的值,而假如子查询数据只有单个如39,就可以获取到数据,讨教高手

为什么不直接把in 改成 =

10

引用:
Quote: 引用:

先上sql
SELECT * from person p
where p.uid=7 and p.`subject` in (SELECT `subject` from activity_settings where nid = 101);
这是一个很简单的sql,子查询的数据是39,41,43这种字符串类型的,但是这边就是不能获取相应的值,而假如子查询数据只有单个如39,就可以获取到数据,讨教高手

为什么不直接把in 改成 =

本人试了下 用in是可以的


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql的in 子查询问题,知道的解惑一下
喜欢 (0)
[1034331897@qq.com]
分享 (0)