mysql - MY Sql IN Query in where 子句给出一行作为输出

标签 mysql

此查询仅返回一行

Set @id='2,3,4,5,6,7,8,9';
Set @typers=1;
Select * from Employee where (@typers=1 and pkEmpId in (@id));

如果我们直接在 IN 查询中分配 2,3,4,5,6,7,8,9 ,它会起作用,我知道这是因为“'”。

但是当我在过程中将值作为参数传递时,我遇到了同样的问题

call CalculateStandardFinalRun('0','4','1900-01-01 00:00:00','1900-01-01 00:00:00','5','1','2,3,4,5,6,7,8,9');

如何获取所有值

最佳答案

我认为你应该尝试一下这个

Select * from Employee where (@typers=1 and FIND_IN_SET(pkEmpId, @id)));

关于mysql - MY Sql IN Query in where 子句给出一行作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16461280/

相关文章:

mysql - 通过 sequelpro 连接到 Mariadb 到 synology NAS

mysql - 在 sql 查询中需要帮助以在行中查找共同值

mysql - phpmyadmin不会创建数据库

mysql - 在 MySQL/MariaDB 中创建过程并定义变量会导致错误 #1064

mysql - 将 SQLite 转换为 Django ORM

php - MySQL删除过期值

PHP语法问题

mysql - Sql 为选择创建正确的查询

MySQL GROUP BY 和限制连接

mysql - 设置/更改 Rails id 自动增量值