Mám model Subscription
což has_many
Version
s.
A Version
má status
, plan_id
a authorized_at
datum.
Jakékoli změny provedené na Subscription
pochází z Version
změny aktualizace je rodič Subscription
.
Cílem je najít každého Odběru Version
s nejstarší authorized_at
datum WHERE
na versions.plan_id
je to stejné jako subscriptions.plan_id
(jinými slovy potřebuji povolení datum Version
kde plan_id
změní na aktuální Subscription
's plan_id
).
Toto je dotaz, jsem vymyslel. Dostávám chybu v agregační funkce syntaxe:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
dotaz:
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'
Já také nejsem jistý, jestli bych měl být seskupení verze plan_id
a pak vybírá z každé skupiny. Jsem trochu ztratil.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...