【发布时间】:2016-08-09 20:54:08
【问题描述】:
我有一个 MySQL 查询,我试图在它的末尾链接一个“NOT IN”。
这是使用 Active Record 在 ruby 中的样子:
not_in = find_by_sql("SELECT parent_dimension_id FROM relations WHERE relation_type_id = 6;").map(&:parent_dimension_id)
joins('INNER JOIN dimensions ON child_dimension_id = dimensions.id')
.where(relation_type_id: model_relation_id,
parent_dimension_id: sub_type_ids,
child_dimension_id: model_type)
.where.not(parent_dimension_id: not_in)
所以我尝试执行的 SQL 查询如下所示:
INNER JOIN dimensions ON child_dimension_id = dimensions.id
WHERE relations.relation_type_id = 5
AND relations.parent_dimension_id
NOT IN(SELECT parent_dimension_id FROM relations WHERE relation_type_id = 6);
有人可以向我确认该查询应该使用什么吗? 我应该链接 where.not 吗?
【问题讨论】:
标签: mysql ruby-on-rails ruby rails-activerecord active-record-query