Метод Activerecord для «как» - производный псевдоним - PullRequest
0 голосов
/ 11 марта 2011

Я пытаюсь построить запрос SQL, используя методы ActiveRecord.В запросе есть несколько объединений, для которых требуются производные таблицы, например:

(SELECT voteable_id, COUNT(vote) FROM votes WHERE vote = 0 GROUP BY voteable_id) AS example

Моя проблема в том, что я не могу найти метод, который позволил бы мне создать псевдоним для моей производной таблицы (здесь: ASпример).Мой вопрос, таким образом, заключается в том, возможно ли вообще создать такой запрос с использованием методов activerecord?

EDIT: просто чтобы сделать его более понятным.У меня есть следующие методы для создания оператора select.

t = Vote # Vote being the table name
t = t.where("vote = 0")
t = t.group("voteable_id")
t.select("voteable_id, COUNT(vote)")

но как мне добавить псевдоним "AS"?

1 Ответ

0 голосов
/ 11 марта 2011

Вы всегда можете использовать результат #to_sql:

t = Vote # Vote being the table name
t = t.where("vote = 0")
t = t.group("voteable_id")
sql = t.select("voteable_id, COUNT(vote)").to_sql
t.connection.find_by_sql("(#{sql}) AS example")

Реальный вопрос - , почему вам нужно использовать псевдоним. Ответь, и мы сможем помочь тебе.

...