小编典典

SQL中的多个LIKE语句

sql

我有一张表格,其中包含有关零售店的信息。我有一个零售链名称的列表(WalMart,Target,Eaton等)。当用户选择一个时,我基本上会运行一个查询来查找与该链有关的任何内容。

SELECT * FROM stores WHERE store_name LIKE '%$chain%' ORDER BY store_name ASC

例如,如果用户选择“ WalMart”,则查询将返回名称中带有单词“ WalMart”的任何内容(WalMart Scarborough,WalMart
Supercenter Toronto,WalMart Distribution Center等)。

但是,现在我想让用户能够通过搜索文本框搜索此列表。我通常进行搜索的方式是这样的:

SELECT * FROM stores WHERE store_name LIKE '%$user_input%' ORDER BY store_name ASC

但是在这种情况下,查询将返回包含的所有商店user_input,而不仅仅是WalMarts。如果我输入Toronto,我想看看多伦多沃尔玛超级中心,但当然会得到Target
Toronto等。

如何做到这一点,以便在寻找包含user_input沃尔玛子集中也包含在内的任何东西。如果可能,我想在一个查询中执行此操作。我可以使用两个这样的LIKE语句吗?

抱歉,尚未尝试任何操作,因为我不确定从哪里开始。


阅读 450

收藏
2021-04-28

共1个答案

小编典典

是的,您可以执行以下操作:

SELECT * FROM stores WHERE store_name LIKE '%$user_input%' 
AND store_name LIKE '%Walmart%'
ORDER BY store_name ASC
2021-04-28