2012-04-25 85 views
0

我有兩個型號與SELECT DISTINCT聯接查詢中軌3

class User < ActiveRecord::Base 
    has_one :work 
end 

class Work < ActiveRecord::Base 
    belongs_to :user 
end 

我需要從工作表中不同的說明對特定國家的用戶 我已經寫了下面的查詢

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

它的工作原理但它並沒有給我明確的作品。描述

+0

如果你的用戶表沒有'description'列,你可以用'distinct description'代替'distinct works.description',它應該可以工作。否則,你可以給'works.description'一個別名,使用不同的works.description作爲work_descr,然後得到值爲result [0] .work_descr'。請注意,該查詢的結果是一個數組,因此您應該在其元素上調用work_descr(或第一種情況下的description)。 – 2012-04-25 11:26:10

回答

4

它與以下查詢,

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