如何在mySql中使用一个或多个字段名搜索数据
这是我的表,我想通过以下名称或这些字段中的任何一个或组合进行搜索 deviceId、searchTerm、deviceName、deviceNumber、操作系统、Android、设备工作状态、状态 如果searchTerm是所有字段的组合,请建议我如何编写查询以搜索一个或两个或三个参数的组合如何在mySql中使用一个或多个字段名搜索数据,mysql,Mysql,这是我的表,我想通过以下名称或这些字段中的任何一个或组合进行搜索 deviceId、searchTerm、deviceName、deviceNumber、操作系统、Android、设备工作状态、状态 如果searchTerm是所有字段的组合,请建议我如何编写查询以搜索一个或两个或三个参数的组合 deviceId、deviceName deviceNumber、deviceWorkingStatus、os、分辨率、显示密度、序列号、备注、状态根据您的提问,我对您的目标只有一个粗略的了解。因此,如果
deviceId、deviceName deviceNumber、deviceWorkingStatus、os、分辨率、显示密度、序列号、备注、状态根据您的提问,我对您的目标只有一个粗略的了解。因此,如果要在WHERE子句中按两列以上进行查询,可以在两者之间添加AND 例如:
从表中选择*,其中deviceName='deviceName'和deviceNumber='deviceNumber',因为这些是搜索参数,您希望搜索结果基于这些参数的任意组合,您需要一个覆盖所有这些字段的查询 设备ID 搜索词 设备名称 设备编号 操作系统 安卓 设备工作状态 地位 查询: 注: 如果您希望在搜索字符串为空的情况下获取结果事件,那么这将起作用。这样做如何:
SELECT
*
FROM your_table
WHERE deviceId LIKE CONCAT('%',COALESCE(deviceIdSearchString,''),'%')
AND searchTerm LIKE CONCAT('%',COALESCE(searchTermSearchString,''),'%')
AND deviceName LIKE CONCAT('%',COALESCE(deviceNameSearchString,''),'%')
AND deviceNumber LIKE CONCAT('%',COALESCE(deviceNumberSearchString,''),'%')
AND os LIKE CONCAT('%',COALESCE(osSearchString,''),'%')
AND Android LIKE CONCAT('%',COALESCE(AndroidSearchString,''),'%')
AND deviceWorkingStatus LIKE CONCAT('%',COALESCE(deviceWorkingStatus,''),'%')
AND status LIKE CONCAT('%',COALESCE(statusSearchString,''),'%');
你在哪里做研究?意味着我必须搜索它。对不起,我不明白你的问题。你能重新表述一下吗?看,我有来自表的concat和serch数据,比如select*from table where deviceName='deviceName'如果输入deviceName,如果我们输入deviceName和deviceNumber,那么它应该按照设备名和deviceNumber进行排序,就像那样,但是当我们没有传递deviceNumber时,这个查询将无法工作,因为它会无效@ALVIN@ResearchDevelopment如果是这样的话,你可以用OROK thanx让我查一下我需要一个帮助
SELECT
*
FROM your_table
WHERE deviceId LIKE CONCAT('%',COALESCE(deviceIdSearchString,''),'%')
AND searchTerm LIKE CONCAT('%',COALESCE(searchTermSearchString,''),'%')
AND deviceName LIKE CONCAT('%',COALESCE(deviceNameSearchString,''),'%')
AND deviceNumber LIKE CONCAT('%',COALESCE(deviceNumberSearchString,''),'%')
AND os LIKE CONCAT('%',COALESCE(osSearchString,''),'%')
AND Android LIKE CONCAT('%',COALESCE(AndroidSearchString,''),'%')
AND deviceWorkingStatus LIKE CONCAT('%',COALESCE(deviceWorkingStatus,''),'%')
AND status LIKE CONCAT('%',COALESCE(statusSearchString,''),'%');
set @param = '';
SELECT
*
FROM tbl_device
WHERE deviceId LIKE CONCAT('%',COALESCE(@param ,''),'%')
or deviceName LIKE CONCAT('%',COALESCE(@param ,''),'%')
or deviceNumber LIKE CONCAT('%',COALESCE(@param ,''),'%')
or os LIKE CONCAT('%',COALESCE(@param ,''),'%')
or resolution LIKE CONCAT('%',COALESCE(@param ,''),'%')
or deviceWorkingStatus LIKE CONCAT('%',COALESCE(@param ,''),'%')
or serialNo LIKE CONCAT('%',COALESCE(@param ,''),'%')
or displayDensity LIKE CONCAT('%',COALESCE(@param ,''),'%')
or remarks LIKE CONCAT('%',COALESCE(@param ,''),'%')
or status LIKE CONCAT('%',COALESCE(@param ,''),'%');