[英]Rails update_all using an join and sum
這里的第一個問題。 我有兩個導軌模型,一個是“Quiniela”(預測表),另一個是實際的“預測”。 Quiniela有許多預測,預測屬於quinielas。 預測有一個稱為“點”的屬性,當添加真實游戲結果時會更新該屬性。 我想用其預測點的總和更新所有具有屬性“qpoints”的 Quinielas。 這是我現在所擁有的,恐怕它可能很簡單,但我在 SQL 語句中的背景很差。
基本思想是更新所有 quinielas 以顯示從其預測中獲得的所有點的總和。 現在我得到一個無效的分組語句或列不存在。 謝謝。
Quiniela.joins(:predictions).
select('SUM(predictions.points) AS totalpts, quinielas.qpoints AS points').
update_all('points = totalpts')
我已經想通了:
Quiniela.update_all('qpoints = (SELECT SUM(predictions.points)
FROM Predictions
WHERE Quinielas.id = Predictions.quiniela_id)')
在這個過去的問題中找到了幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.