Sequel (gem) 个子查询的排序

Ordering of Sequel (gem) subqueries

我正在寻找一种方法来连接具有特定顺序的子查询。

以下查询:

User.where(a: 3).where(#<Sequel::SQL::BooleanExpression @op=>:"NOT IN", @args=>[:b, [0.25, 0.31, 0.78]]>).or(b: nil)

像这样的群组:

(((a == 3) AND (b != [...]))
OR (b == nil))

但是我想要实现的是

((a == 3) 
AND ((b != [...]) OR (b == nil))

有什么想法可以实现这一目标吗?

你可能想要这样的东西:

User.where(:a=>3).where(Sequel.~(:b=>[0.25, 0.31, 0.78]) | {:b=>nil})