Здесь ниже, lo принадлежит титрам, titre имеет много lo.
Когда я использую:
LO.select(["los.id","date_ord","soc","pv"]).joins(:titre).
where(['year(date_ord) = ? and pv is not null',"#{date_ord}"]).
group("num_ordre").order("soc,date_ord")
не извлекает поле соц из титра.
Принимая во внимание, что если я использую:
search_year = "year(date_ord) = '#{date_ord}'"
connection.select_all("select los.id, date_ord, soc, pv " +
"from los inner join titres on los.titre_id=titres.id " +
"where #{search_year} and pv is not null " +
"group by num_ordre order by soc, date_ord;")
он его извлекает.
Есть ли здесь что-то, что мне не хватает?
Или select ограничивает извлечение полей из полей из таблицы базы данных и ничего из таблицы соединений?
Есть ли более удобный способ выполнить этот запрос, чтобы он давал тот же результат, что и версия connection.select_all?
Среда: рельсы 3.0.5 с jruby 1.6 (ruby 1.8.7).
Заранее спасибо за любые подсказки.