0

我有一个应用程序,其中有一个列出库存的页面。页面顶部是一个搜索文本框,用户可以在其中输入值,例如 id、名称、位置等。我希望用户能够在搜索文本框中输入多个值并让 MySQL 返回一个找到的每个值的行。

我正在寻找一个纯 MySQL 解决方案,而不是 PHP 或 Python ...

前任。搜索字符串:“161, Bob, Production, 123, 125” 其中所有值对应于不同的列(即整数是 ID,Bob 是可能的名字,Production 是位置)。MySQL 然后会搜索每个逗号分隔的值,如果找到,则返回一行。最好这将在一个查询中完成,而不是按顺序完成,其中第一个被找到,显示,然后是第二个,等等。

4

1 回答 1

1

您需要 SQLIN运算符

像这样的东西会做你正在寻找的东西:

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)
于 2018-09-15T03:55:49.967 回答