我有的模型 Subscription
哪 has_many
Version
s.
一个 Version
有一个 status
, plan_id
和 authorized_at
日期。
任何改变一个 Subscription
来自一个 Version
修改更新它的父母 Subscription
.
我们的目标是找到每个订阅的 Version
最古老的 authorized_at
日期 WHERE
的 versions.plan_id
是一样的 subscriptions.plan_id
(换句话说我需要授权的日期 Version
这里的 plan_id
改变目前的 Subscription
's plan_id
).
这是查询我来了。 我得到一个错误总体功能的语法:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
查询:
select subscriptions.id,
MIN (authorized_at) from versions
where versions.plan_id = subscriptions.plan_id
) as current_version
from subscriptions
join versions on subscriptions.id = versions.subscription_id
where versions.status = 'processed'
我也不知道我是否应该被分组的版本 plan_id
然后挑选从各个小组。 我失去了。
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...