【发布时间】:2022-01-12 06:35:40
【问题描述】:
我有一个 SQL 查询
SELECT * FROM students
EXCEPT
SELECT * FROM students WHERE val->>'rating' = 'Fail'
如何在 Rails 范围内实现相同的结果?
【问题讨论】:
-
您可以将其重写为
where not exists条件。也许你的混淆层可以处理。 -
SELECT * FROM students WHERE val->>'rating' <> 'Fail' -
@Edouard 这个查询不适合我。这和我指定的不一样。我还需要不存在评级键的记录。
-
@Alex Shmatko:好的,让我们试试这个:
SELECT * FROM students WHERE val->>'rating' IS DISTINCT FROM 'Fail',这个查询应该包括不存在'rating'键的记录 -
@Edouard 好东西!谢谢!
标签: ruby-on-rails postgresql activerecord jsonb