Am modelul Subscription
care has_many
Version
s.
O Version
are o status
, plan_id
și authorized_at
data.
Orice modificări efectuate de la un Subscription
provine dintr-o Version
modificări actualizarea este părinte Subscription
.
Scopul este de a găsi fiecare Abonament Version
cu cele mai vechi authorized_at
data WHERE
la versions.plan_id
este la fel ca subscriptions.plan_id
(cu alte cuvinte am nevoie de autorizația dată de Version
unde plan_id
s-a schimbat la curent Subscription
modelului plan_id
).
Acest lucru este interogarea am venit cu. Primesc o eroare în funcție agregată sintaxa:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
interogare:
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'
Am, de asemenea, nu sunt sigur dacă ar trebui să fiu gruparea versiuni de plan_id
și apoi cules de la fiecare grup. Eu sunt un fel de pierdut.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...