Eu tenho o modelo Subscription
que has_many
Version
s.
Um Version
tem um status
, plan_id
e authorized_at
a data.
Quaisquer alterações feitas a uma Subscription
vem de uma Version
modificações, atualizando-o pai da Subscription
.
O objetivo é encontrar cada Inscrição Version
com a mais antiga authorized_at
data WHERE
o versions.plan_id
é o mesmo que o subscriptions.plan_id
(em outras palavras, eu preciso de autorização data do Version
onde o plan_id
alterado para o atual Subscription
's plan_id
).
Esta é a consulta que eu vim acima com. Eu estou recebendo um erro na sintaxe de função de agregação:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
consulta:
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'
Eu também não tenho certeza se eu deveria estar agrupar as versões plan_id
e, em seguida, a escolha de cada grupo. Eu estou meio perdido.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...