Rails4.1においてArel::Tableを利用して以下のようなSQLを作成しようとしています。
SQL
1select id 2 from hoge 3 where id in 4 (select id 5 from hoge 6 where 集合Aの条件) 7 and 集合Bの条件) 8group_by colA
以下で実現できるのかとやってみています。
Ruby
1result=Hoge.select("colA").where(条件式A) 2 .where(Hoge.arel_table[:colA].in( 3 Hoge.select("colA") 4 .where(Hoge.arel_table[:colB].in(条件式)) 5 .group(ColA).as("basic_daily_stock_infos_exec")
ですが
Ruby
1result.first
で結果が
"colA"
と列名そのものが表示されてしまいます。
(colAはint型です。)
何が起こっているのかすら理解できていないのですが、
上記のようなSQLをRailsで記述するにはどのようにすればよいでしょうか?
あなたの回答
tips
プレビュー