ฉันมีนางแบบ Subscription
ซึ่งนั่น has_many
Version
s.
เป็ Version
มี status
, plan_id
แล้ว authorized_at
ออกเดท
ความเปลี่ยนแปลงทำให้เป็น Subscription
มาจาก Version
การแก้ไขปรับปรุงมันเป็นพ่อแม่ Subscription
.
เป้าหมายคือค้นหากันและการสมัครสมาชิกเป็น Version
กับที่เก่าแก่ที่สุด authorized_at
เดท WHERE
คน versions.plan_id
มันก็เหมือนกันที่ subscriptions.plan_id
(พูดอีกอย่างฉันต้องการการตรวจสอบสิทธิ์ของวัน Version
อยู่ที่ไหน plan_id
เปลี่ยนแปลงปัจจุบัน Subscription
's plan_id
).
นี่คือกับการค้นหาฉันได้มาอยู่ด้วย ฉันกำลังจะเกิดข้อผิดพลาดใน aggregate ฟังก์ชันรูปแบบการสั่งงาน:
syntax error at or near "MIN" LINE 3: MIN (authorized_at) from versions ^
กับการค้นหา:
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'
ฉันไม่แน่ใจว่าฉันควรจะเป็นการจัดกลุ่มคนโดยรุ่น plan_id
และจากนั้นเลือกจากแต่ละกลุ่ม ฉันค่อนข้างสูญเสีย
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "WHERE" LINE 6: ...s.id, v.authorized_at WHERE "sub...