J'ai le modèle Subscription
qui has_many
Version
s.
Un Version
a un status
, plan_id
et authorized_at
date.
Toutes les modifications apportées à un Subscription
vient d'un Version
modifications de la mise à jour de son parent Subscription
.
L'objectif est de trouver de chaque Abonnement Version
avec la plus ancienne authorized_at
date WHERE
l' versions.plan_id
est le même que le subscriptions.plan_id
(en d'autres mots j'ai besoin de la date d'autorisation de la Version
où l' plan_id
changé au courant Subscription
's plan_id
).
C'est la requête que j'ai trouvé. J'obtiens une erreur dans la fonction aggregate syntaxe:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
requête:
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'
Moi aussi, je suis pas sûr si je devrais être en groupant les versions par plan_id
et puis la cueillette de chaque groupe. Je suis un peu perdu.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...