Railsでselectを使用して結合クエリを実行していますが、結合されたテーブルの結果にはnull IDがあります...
@result = Table.joins(:join_table).select(['join_table.id', 'name', 'random_attr', 'created_at']).where('table.random_attr = ?', @anotherresult.id).order('name ASC')
結果...
[
{
random_attr: true
created_at: "2012-10-31T02:23:07Z"
id: null
name: "Joe"
},
....
]
生成されたSQLは次のようになります...
SELECT join_table.id, name, random_attr, created_at FROM `table` INNER JOIN `join_table` ON `join_table`.`id` = `table`.`user_id` WHERE (random_attr = 9) ORDER BY name ASC;
このクエリを mysql で直接実行すると問題なく動作します。