如何处理带有“ not in”的where子句和具有活动记录的子查询

问题描述 投票:0回答:1

我该如何用activerecord(ruby on rails)编写这样的子查询:

SELECT id, unit_cdl_required, load_group_id
FROM loads lo
WHERE unit_cdl_required=FALSE AND
load_group_id NOT IN (
  SELECT load_group_id
  FROM loads
  WHERE unit_cdl_required=TRUE
  AND load_group_id=lo.load_group_id
);

我尝试过:

Load.where("unit_cdl_required=FALSE AND load_group_id NOT IN (SELECT load_group_id FROM loads WHERE unit_cdl_required=TRUE AND load_group_id=lo.load_group_id)")

但是得到了ERROR: missing FROM-clause entry for table "lo"

我的模式是这样的:https://imgur.com/a/wr9Yzl2

sql postgresql activerecord arel
1个回答
0
投票
您有一个奇怪的内置sql查询,也许您想做这样的事情:
© www.soinside.com 2019 - 2024. All rights reserved.