Model bende. Subscription
hangi has_many
Version
s.
A Version
bir status
, plan_id
ve authorized_at
tarih.
Yapılan herhangi bir değişiklik Subscription
a'dan geliyor Version
ebeveyni güncelleyen değişiklikler Subscription
.
Amaç, her Aboneliğin aboneliğini bulmaktır. Version
en büyüğü ile authorized_at
tarih WHERE
bu versions.plan_id
denir. subscriptions.plan_id
(başka bir deyişle, yetkilendirme tarihine ihtiyacım var Version
nerede plan_id
geçerli olarak değiştirildi Subscription
's plan_id
).
Aklıma gelen soru bu. Toplama işlevi sözdiziminde bir hata alıyorum:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
sorgu:
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'
Ayrıca sürümleri şu şekilde gruplandırmam gerekip gerekmediğinden emin değilim plan_id
ve sonra her gruptan birini seçiyorum. Kayboldum sayılır.
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...