我需要在哪里进行连接,但需要避免重复行

时间:2011-02-14 20:40:40

标签: ruby-on-rails-3 distinct where-clause

我有一个范围

范围:with_tags,lambda {| tag | joins(:tags).where('tags.name in(?)',tag)}#Questionnaire.with_tags([“Restaurants”,“Real State”])

Questionnaire.with_tags([“餐厅”,“真实状态”])。to_sql

=> “SELECT questionnaires。* FROM questionnaires INNER JOIN quest_tags ON questionnairesid = quest_tagsquestionnaire_id INNER JOIN {{ 1}} ON tagstags = idquest_tags WHERE(tags.name in('Restaurants','Real State'))“

我需要的是什么 “选择 DISTINCT tag_id。*来自questionnaires INNER JOIN questionnaires ON quest_tagsquestionnaires = id。{ {1}} INNER JOIN quest_tags ON questionnaire_idtags = tagsid WHERE(tags.name in('Restaurants','Real State' ))“

我需要对我的范围做什么才能在选择中获得 DISTINCT

1 个答案:

答案 0 :(得分:1)

范围:with_tags,lambda {| tag | joins(:tags).where('tags.name in(?)',tag).group('questionnaires.id')}