我正在尝试使用ActiveRecord方法构建SQL查询。该查询有一些需要派生表的连接,如下所示:
(SELECT voteable_id, COUNT(vote) FROM votes WHERE vote = 0 GROUP BY voteable_id) AS example
我的问题是我似乎无法找到一种允许我为派生表创建别名的方法(此处:AS示例)。我的问题是,甚至可以使用activerecord方法构建这样的查询吗?
编辑:只是为了让它更清晰。我有以下方法来构建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”别名呢?
答案 0 :(得分:0)
您始终可以使用#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")
真正的问题是为什么你需要使用别名。回答这个问题,我们会更好地帮助您。