一个字符串query本应该对一个数据表BPM_TASK的四个字段BUS_KEY_、SUBJECT_、CREATE_BY_、CREATE_NAME_进行模糊查询但是这个数据表没有字段CREATE_NAME_已知一个CREATE_NAME_对应唯一的一个CREATE_BY_现在查出来了一个CREATE_BY_的list集合ListString createBys=new ArrayList;在这种情况
可以使用SQL的IN关键字和LIKE关键字来实现模糊查询,同时结合OR逻辑运算符来进行多个字段的匹配。
假设要查询的字符串为query,createBys为已知的CREATE_BY_的list集合,可以使用以下SQL语句:
SELECT * FROM BPM_TASK
WHERE BUS_KEY_ LIKE '%query%'
  OR SUBJECT_ LIKE '%query%'
  OR CREATE_BY_ IN (SELECT CREATE_BY_ FROM BPM_TASK WHERE CREATE_NAME_ LIKE '%query%' AND CREATE_BY_ IN (createBys))
上述SQL语句会查询BPM_TASK表中的记录,根据BUS_KEY_和SUBJECT_字段进行模糊查询,同时根据CREATE_NAME_字段查询出对应的CREATE_BY_,并判断该CREATE_BY_是否在createBys集合中。如果满足以上条件的记录会被返回。
原文地址: https://www.cveoy.top/t/topic/i1vD 著作权归作者所有。请勿转载和采集!