搜索时 搜索条件在被搜索范围内

  遇到一个这样的需求:素材有n个标签,搜索时可以标签搜索,并且要搜索条件范围<被搜索标签范围 

  比如:素材A又三个标签  1 2 3  搜索条件是1 可以搜出 12 可以搜出 123 可以搜出 14 不行 1234 不行 这种。

  实现:select * from material m

        left join tag_related tr on tr.object_id = m.material_id 

        where  tr.tag_id in #{dto.ids} 

        group by m.material_id

     having  COUNT(DISTINCT tr.tag_id) = #{dto.ids.size}//取一个搜索条件的长度

原文地址:https://www.cnblogs.com/xcgShare/p/13091875.html