Find_by_sql and join

hi
I amd tanizawa.

I had problem.
I can not get main.name value from below sql.
“find_by_sql ‘select main.id,main.name,sub.name from main left join
sub
on sub.id = main.id’”
Please teach me how to get borth name value.

On 30 June 2012 10:08, tanizawa [email protected] wrote:

hi
I amd tanizawa.

I had problem.
I can not get main.name value from below sql.
“find_by_sql ‘select main.id,main.name,sub.name from main left join sub on
sub.id = main.id’”
Please teach me how to get borth name value.

My first question would be why are you using find_by_sql? Why not use
the normal rails ActiveRecord methods. See

and

I assume you have already worked through the getting started guide and
some tutorials such as railstutorial.org which is free to use online.

Colin

On 30 June 2012 14:37, tanizawa [email protected] wrote:

I almost use normal ActiveRecord methods.
I use find_by_sql for complected sql.

Why are you joining main.id on sub.id? Normally that would be
considered poor database design. It would be usual to use a has_one
belongs_to relationship, then you could use an ActiveRecord query.
Also your table names should be plural to follow the Rails
conventions.

By the way, please don’t top post, it makes it difficult to follow the
thread. Insert your reply inline. Thanks.

Colin

I almost use normal ActiveRecord methods.
I use find_by_sql for complected sql.

2012$BG/(B6$B7n(B30$BF|EZMKF|(B 18$B;~(B17$BJ,(B48$BIC(B UTC+9 Colin
Law:

On Jun 30, 10:08am, tanizawa [email protected] wrote:

hi
I amd tanizawa.

I had problem.
I can not get main.name value from below sql.
“find_by_sql ‘select main.id,main.name,sub.name from main left join sub
on sub.id = main.id’”
Please teach me how to get borth name value.

Activerecord can’t tell the difference between the 2 name columns -
you need to give them distinct names e.g.

select main.id,main.name,sub.name as sub_name from main …

Fred