2012-04-25 24 views
0

にSELECT DISTINCTでクエリに参加する私は、私はそれが動作するクエリがレール3

Work.includes(:user).where("users.country_name = ?",'IN').select("distinct works.description").limit(10) 

次書かれている 特定の国のユーザーのために作業テーブルから明確な説明を持っている必要がある2つのモデル

class User < ActiveRecord::Base 
    has_one :work 
end 

class Work < ActiveRecord::Base 
    belongs_to :user 
end 

を持っていますしかし、それは私に別個の作品を与えません。説明

+0

'users'テーブルに' description'カラムがない場合、 'distinct works.description'を' distinct description'に置き換えることができます。それ以外の場合は、 'works.description'に' distinct works.description as work_descr'のようなsmthを使ってエイリアスを与え、 'result [0] .work_descr'として値を取得することができます。このクエリの結果は配列なので、要素の 'work_descr'(または第1の場合は' description')を呼び出す必要があります。 –

答えて

4

それは次のクエリで働いた

Work.includes(:user).where("users.country_name = ?",'IN').group("works.description").limit(10)