Postgres对WITH queries有很好的支持。
我想知道我是否可以以某种方式在活动记录上使用WITH操作?
类似于:
User.with("user_sales as (select user_id, sum(amount) from sales)")
.joins("LEFT JOIN user_sales on users.id = user_sales.user_id"
我知道没有WITH查询也可以实现同样的功能,但是没有它,查询通常会变得更加复杂。
Postgres对WITH queries有很好的支持。
我想知道我是否可以以某种方式在活动记录上使用WITH操作?
类似于:
User.with("user_sales as (select user_id, sum(amount) from sales)")
.joins("LEFT JOIN user_sales on users.id = user_sales.user_id"
我知道没有WITH查询也可以实现同样的功能,但是没有它,查询通常会变得更加复杂。
1条答案
按热度按时间3df52oht1#
Arel
,ActiveRecord
下面的引擎定义了几个有用的方法,包括WITH查询。但是,请注意,
Arel
被官方认为是私有的api,可能会发生变化。只要确保在
.arel
之前完成所有ActiveRecord
操作即可