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

  遇到一个这样的需求:素材有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}//取一个搜索条件的长度

posted @ 2020-06-11 10:49  皮肤黝黑的小白  阅读(214)  评论(0编辑  收藏  举报