【发布时间】:2018-08-15 14:21:02
【问题描述】:
一个项目table: items 有许多分类法table: taxonomies 使用连接表item_taxonomies (item_id, taxonomy_id)。
使用分类组搜索项目。
例子:
taxo_group_1 = [1, 2, 3]
taxo_group_2 = [4, 5]
sql 应该以这种方式找到两个数组中包含taxonomies 的所有items:
如果我有这些元素:
item_1 id=1
taxo_1 id=11
taxo_2 id=12
taxo_3 id=13
item_2 id=2
taxo_3 id=13
taxo_4 id=14
使用[11, 12] 和[13] 搜索将返回item_1 而不是item_2,因为item_1 具有分类法in [11, 12] AND in [13]。
item_2 不会被返回,因为它在[11, 12] 中没有分类法
到目前为止:
"taxonomies"."id" IN (11, 12, 13) AND "taxonomies"."id" IN (13)
当然不行。
【问题讨论】:
-
做
-1的人几乎都是有用的。至少留下评论。权力带来责任。
标签: mysql sql ruby-on-rails ruby postgresql