0

私は RoR の初心者で、SQL クエリを作成する際に多くの問題が発生しています。私はSQLなしで(またはほんの少し)SQLを実行しようとしています。

これが私が書こうとしているクエリです。

select AVG(results.value)as 'avg', form_rows.id, form_rows.domtype 
from form_rows
join results on results.form_row_id = form_rows.id 
where form_rows.form_id = '9' and form_rows.domtype IN ('numfield', 'percentagefield')
group by results.form_row_id

最初の where 条件 (form_rows.form_id = '9') では、値がパラメーターとして送信されることに注意してください。

誰かが私を助けることができれば:)

4

1 に答える 1

1

FormRow と Result Model があると仮定しています

FormRow.joins(:results).where(:form_id => params[:form_id])
.where("form_rows.domtype IN(?)", ['numfield', 'percentagefield'])
.group("results.form_row_id")
.select("AVG(results.value) as 'avg', form_rows.id, form_rows.domtype")

私はそれをテストしませんでしたが、それはそれであるはずです

ちなみに、selectで使用する場合は、form_rows.domtypeでもグループ化する必要があります。

于 2013-03-13T16:16:02.610 に答える