Мне нужно сделать соединение где, но нужно избегать повторяющихся строк - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть область действия

область действия: with_tags, lambda {| tag |joins (: tags) .where ('tags.name in (?)', tag)} # Questionnaire.with_tags (["Restaurants", "Real State"])

Questionnaire.with_tags (["Restaurants"," Real State "]). To_sql

=>" SELECT questionnaires. * FROM questionnaires INNER JOIN quest_tags ON questionnaires. id = quest_tags. questionnaire_idINNER JOIN tags ON tags. id = quest_tags. tag_id WHERE (tags.name in ('Restaurants', 'Real State')) "

что мне нужно"SELECT DISTINCT questionnaires. * FROM questionnaires INNER JOIN quest_tags ON questionnaires. id = quest_tags. questionnaire_id INNER JOIN tags ON tags. id = quest_tags. tag_id ГДЕ (tags.name в ('Restaurants', 'Real State')) "

Что мне нужно сделать с моей областью, чтобы получить DISTINCT в избранном?

1 Ответ

1 голос
/ 14 февраля 2011

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

...