这里的第一个问题。我有两个轨道模型,一个是“Quiniela”(预测表),另一个是实际的“预测”。 Quiniela有许多预测和预测属于quinielas。预测具有称为“点”的属性,当添加真实游戏结果系统时,该属性会更新。我想更新所有具有属性“qpoints”的Quinielas及其预测点的总和。这就是我现在所拥有的,我担心它可能很简单,但我在SQL语句中的背景很差。
基本思想是更新所有quinielas以显示从其预测中获得的所有点的总和。现在我收到一个无效的分组语句或一个列不存在。感谢。
Quiniela.joins(:predictions).
select('SUM(predictions.points) AS totalpts, quinielas.qpoints AS points').
update_all('points = totalpts')
答案 0 :(得分:1)
我已经弄清楚了:
Quiniela.update_all('qpoints = (SELECT SUM(predictions.points)
FROM Predictions
WHERE Quinielas.id = Predictions.quiniela_id)')
在this过去的问题
中找到了帮助