【发布时间】:2015-06-14 14:52:20
【问题描述】:
我正在尝试使“Select As”查询语句正常工作,但不断收到错误消息,并且不确定它为什么不工作。根据 API 文档,格式是正确的。
User.select("firstname as fname")
结果:
User Load (1.7ms) SELECT firstname as fname FROM "users"
=> #<ActiveRecord::Relation [#<User id: nil>, #<User id: nil>]
但是,如果我使用:
User.select(:firstname)
我明白了:
User Load (2.8ms) SELECT "users"."firstname" FROM "users"
=> #<ActiveRecord::Relation [#<User id: nil, firstname: "John">, #<User id: nil, firstname: "Brian">,
所以我可以从查询中看到为什么它没有返回结果,但我不明白为什么它会创建不正确的查询。 (我需要使用 select as on 的实际查询比这个查询更复杂,但我试图使用更简单的查询来试图找出它为什么不能正常工作。
我需要使用 select 作为查询的原因是因为我有来自两个非常不同的表的两个单独的对象,我需要将它们连接在一起并更改其中一个列名,以便我可以按该列排序。我不确定在组合对象之前是否有更简单的方法来更改名称。
谢谢!
【问题讨论】:
-
是否要将
firstname字段更改为fname? -
是的,这个查询只有 temp,带有 sql select as 语句。不是永久的。
标签: ruby-on-rails select subquery