一个输入框搜索多个字段SQL

例子图片

一个输入框搜索多个字段SQL

 

 

 具体SQL:是使用concat..(不了解concat的使用就去简单看一下就懂了,简单的理解是字符串的拼接)

详细:

select * 

FROM
biz_lis_request_information a
LEFT JOIN biz_lis_sample c ON a.barcode = c.barcode
<where>
<if test="patientId != null and patientId != ''">
CONCAT(IFNULL(a.patient_name,''),IFNULL(a.patient_id,''),IFNULL(a.barcode,''),IFNULL(a.request_doct_name,''),IFNULL(a.execute_doct_id,''),IFNULL(c.sample_no,'')) LIKE concat( '%', #{patientId}, '%' )
</if>
  <if test="sendOrganizationId != null "> and a.send_organization_id = #{sendOrganizationId}</if>
  <if test="barcode != null and barcode!='' "> and a.barcode = #{barcode}</if>
</where>
order by a.request_doct_date desc
详解:
CONCAT(IFNULL(a.patient_name,''),IFNULL(a.patient_id,''),IFNULL(a.barcode,''),IFNULL(a.request_doct_name,''),IFNULL(a.execute_doct_id,''),IFNULL(c.sample_no,''))  LIKE concat( '%', #{patientId}, '%' )
1.IFNULL:为空的结果取 ‘’
2.#{patientId}:图片中的查询字段
3.CONCAT(‘’‘’‘’‘不为空字段’)LIKE concat( '%', #{patientId}, '%' )  == patientId 通过模糊查询 ‘不为空字段’
4.(不了解concat的使用就去简单看一下就懂了,简单的理解是字符串的拼接)





上一篇:表格数据存储,只含有字母,数字和12个特殊字符,逗号分隔,输出每个字段


下一篇:抖音数据采集接口