如何写sql语句判断某个字段的值是否在某范围内

时间:2021-08-14 15:07:07
例如表table中有   id     name     两个字段

想通过sql语句获得id值为 1 或 7 或 8 或 13 的name值

谢谢

11 个解决方案

#1


select name from table where id in (1,7,8,13)

#2


select name from tt where id in(1,7,8,13)

#3


引用 1 楼 s11ss 的回复:
select name from table where id in (1,7,8,13)


(1,7,8,13)可以用数组表示么

比如php的数组

#4


在MYSQL中只能生成SQL语句,再动态执行
set @asql=concat('select name from tt where id in(',参数数组,')');
prepare stml from @asql;
execute stml;

#5


你可以在PHP代码中生成这个SQL语句啊。

#6


引用 5 楼 acmain_chm 的回复:
你可以在PHP代码中生成这个SQL语句啊。


什么意思

代码说明一下吧

#7


引用 4 楼 wwwwb 的回复:
在MYSQL中只能生成SQL语句,再动态执行
set @asql=concat('select name from tt where id in(',参数数组,')');
prepare stml from @asql;
execute stml;


这是啥意思

如何放到mysql_query()语句中

#8


用 implode函数 将你的数组转成字符串 再拼接sql语句 再用上面的in语句

#9


你在php中遍历数组,组成SQL字符串,然后传给mysql_query()
引用 7 楼 javaready 的回复:
引用 4 楼 wwwwb 的回复:

在MYSQL中只能生成SQL语句,再动态执行
set @asql=concat('select name from tt where id in(',参数数组,')');
prepare stml from @asql;
execute stml;


这是啥意思

如何放到mysql_query()语句中

#10



$ids = array(1,7,8,13);
$sql = "select name from table where id in(".implode(",",$ids).")";

#11


引用 10 楼 yhkyo 的回复:
$ids = array(1,7,8,13);
$sql = "select name from table where id in(".implode(",",$ids).")";

+1

#1


select name from table where id in (1,7,8,13)

#2


select name from tt where id in(1,7,8,13)

#3


引用 1 楼 s11ss 的回复:
select name from table where id in (1,7,8,13)


(1,7,8,13)可以用数组表示么

比如php的数组

#4


在MYSQL中只能生成SQL语句,再动态执行
set @asql=concat('select name from tt where id in(',参数数组,')');
prepare stml from @asql;
execute stml;

#5


你可以在PHP代码中生成这个SQL语句啊。

#6


引用 5 楼 acmain_chm 的回复:
你可以在PHP代码中生成这个SQL语句啊。


什么意思

代码说明一下吧

#7


引用 4 楼 wwwwb 的回复:
在MYSQL中只能生成SQL语句,再动态执行
set @asql=concat('select name from tt where id in(',参数数组,')');
prepare stml from @asql;
execute stml;


这是啥意思

如何放到mysql_query()语句中

#8


用 implode函数 将你的数组转成字符串 再拼接sql语句 再用上面的in语句

#9


你在php中遍历数组,组成SQL字符串,然后传给mysql_query()
引用 7 楼 javaready 的回复:
引用 4 楼 wwwwb 的回复:

在MYSQL中只能生成SQL语句,再动态执行
set @asql=concat('select name from tt where id in(',参数数组,')');
prepare stml from @asql;
execute stml;


这是啥意思

如何放到mysql_query()语句中

#10



$ids = array(1,7,8,13);
$sql = "select name from table where id in(".implode(",",$ids).")";

#11


引用 10 楼 yhkyo 的回复:
$ids = array(1,7,8,13);
$sql = "select name from table where id in(".implode(",",$ids).")";

+1