单个 where ... like 子句中的多行
Multiple rows in single where ... like clause
我正在尝试创建一个搜索表单并尝试在多行/串联行中进行搜索。有没有办法使用类似下面的代码:
$where = "
WHERE
(
s.companyName,
s.companyName || s.companyType,
s.companyName || s.companyLocationType,
s.companyLocationName,
s.companyLocationName || s.companyLocationType
) LIKE (".$val.")
";
或:
$where = "
WHERE
(
s.companyName
OR s.companyName || s.companyType
OR s.companyName || s.companyLocationType
OR s.companyLocationName
OR s.companyLocationName || s.companyLocationType
) LIKE (".$val.")
";
还是我必须那样使用它:
$where = "
WHERE
s.companyName LIKE (".$val.")
OR s.companyName || s.companyType LIKE (".$val.")
OR s.companyName || s.companyLocationType LIKE (".$val.")
OR s.companyLocationName LIKE (".$val.")
OR s.companyName || s.companyLocationType LIKE (".$val.")
";
WHERE (".$val.") in (s.companyName | s.companyType,s.companyName | s.companyLocationType)
等如果您正在寻找完全匹配而不是使用 LIKE,将会起作用。
我正在尝试创建一个搜索表单并尝试在多行/串联行中进行搜索。有没有办法使用类似下面的代码:
$where = "
WHERE
(
s.companyName,
s.companyName || s.companyType,
s.companyName || s.companyLocationType,
s.companyLocationName,
s.companyLocationName || s.companyLocationType
) LIKE (".$val.")
";
或:
$where = "
WHERE
(
s.companyName
OR s.companyName || s.companyType
OR s.companyName || s.companyLocationType
OR s.companyLocationName
OR s.companyLocationName || s.companyLocationType
) LIKE (".$val.")
";
还是我必须那样使用它:
$where = "
WHERE
s.companyName LIKE (".$val.")
OR s.companyName || s.companyType LIKE (".$val.")
OR s.companyName || s.companyLocationType LIKE (".$val.")
OR s.companyLocationName LIKE (".$val.")
OR s.companyName || s.companyLocationType LIKE (".$val.")
";
WHERE (".$val.") in (s.companyName | s.companyType,s.companyName | s.companyLocationType)
等如果您正在寻找完全匹配而不是使用 LIKE,将会起作用。