我有一个用逗号分隔的字符串,如(delhi,110005,Hospital
),我想这样搜索:
$string="delhi,110005,Hospital";
SELECT * FROM `hospitals` WHERE CONCAT(",", `sub_city_name`, ",") REGEXP ",($string),"
它仅适用于一个字段,但是当我传递多个字段时,它不起作用。
答案 0 :(得分:0)
我假设您的搜索字符串包含序列中字段的值。例如,如果要搜索所有字段i-e
<强> (city_name,sub_city_name,hospital_name,pincode)
强>
您的搜索字符串应包含该序列中的值以及i-e
$string="Delhi,Sub City,Hospital,110005";
$string2="Sub City,Hospital,110005";
$string3="Hospital,110005";
$string4="Delhi,Sub City";
如果我的假设是正确的,则以下查询可能适合您。
SELECT *
FROM `hospitals`
WHERE CONCAT(`city_name`,',',`sub_city_name`,',',`hospital_name`,',',`pincode`)
LIKE '%{string_goes_here}%';
答案 1 :(得分:0)
如果各个字段中没有逗号,请使用FIND_IN_SET()
来测试某个项目是否在商家中。
答案 2 :(得分:-1)
您可能希望使用以下内容:
SELECT * FROM `hospitals` WHERE field LIKE '%delhi,110005,Hospital%';