Mam model Subscription
który has_many
Version
s.
A Version
ma status
, plan_id
i authorized_at
Data.
Wszelkie zmiany wprowadzone w Subscription
pochodzi od Version
zmiany aktualizujący jego macierzysty Subscription
.
Celem jest, aby znaleźć każdą subskrypcję Version
z najstarszy authorized_at
Data WHERE
to versions.plan_id
to to samo, co i subscriptions.plan_id
(innymi słowy, potrzebuję data autoryzacji Version
Gdzie plan_id
zmieniony na aktualny Subscription
'z plan_id
).
To jest pytanie, które zadałem. Pojawia się błąd w składni funkcja agregująca:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
zapytanie:
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'
Ja również nie jestem pewien, czy należy grupować w wersji na plan_id
a następnie wybieramy z każdej grupy. Chyba się zgubił.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...