GOROGORO score 71
2016/04/18 22:56 投稿
RailsでArel::Tableを利用しての副問い合わせ記述について |
Rails4.1においてArel::Tableを利用して以下のようなSQLを作成しようとしています。 |
```SQL |
select id |
from hoge |
where id in |
(select id |
from hoge |
where 集合Aの条件) |
and 集合Bの条件) |
group_by colA |
``` |
以下で実現できるのかとやってみています。 |
```Ruby |
result=Hoge.select("colA").where(条件式A) |
.where(Hoge.arel_table[:colA].in( |
Hoge.select("colA") |
.where(Hoge.arel_table[:colB].in(条件式)) |
.group(ColA).as("basic_daily_stock_infos_exec") |
``` |
ですが |
```Ruby |
result.first |
``` |
で結果が |
"colA" |
と列名そのものが表示されてしまいます。 |
(colAはint型です。) |
何が起こっているのかすら理解できていないのですが、 |
上記のようなSQLをRailsで記述するにはどのようにすればよいでしょうか? |
よろしくお願いします。 |