簡體   English   中英

Rails update_all 使用連接和求和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM