基于逗号分隔的字符串在mysql表中选择多行

knsnq2tg  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(404)

我有一个应用程序,它有一个列出库存的页面。在页面的顶部是一个搜索文本框,用户可以在其中输入值,如id、名称、位置等。我希望用户能够在搜索文本框中输入多个值,并让mysql为找到的每个值返回一行。
我正在寻找一个纯粹的mysql解决方案,而不是php或python。。。
例如,搜索字符串:“161,bob,production,123,125”,其中所有值对应于不同的列(即整数是id,bob是可能的名字,production是位置)。mysql将搜索每个逗号分隔的值,如果找到,则返回一行。最好是在一个查询中完成,而不是按顺序,其中第一个查询被找到、显示,然后是第二个查询,等等。。

ttcibm8c

ttcibm8c1#

你需要sql IN 操作人员
这样做可以满足您的需求:

SELECT * FROM table_name
WHERE table_name.id IN (161, 'Bob', 'Production', 123, 125)
OR table_name.first_name IN (161, 'Bob', 'Production', 123, 125)
OR table_name.location IN (161, 'Bob', 'Production', 123, 125)

相关问题