我正在尝试通过对多个表中的列进行排序来在 Rails 中执行 SQL 排序。
事件和特色模型都有一个名为“日期”的列。一个事件可以属于一个精选。我希望能够将这两列连接在一起,并在两列上按此日期列进行排序。因此,如果精选日期是 24/05/12,而事件日期是 23/05/12,则事件日期将首先显示。
我更愿意在 SQL 中执行此操作(不使用 Ruby 排序)。
谢谢!
编辑:
.order("events.date ASC, featureds.date ASC")
将不起作用,因为这将首先按顺序拉回事件,然后按顺序拉回特色。
例如:
事件 1 日期:23/04/12
事件 2 日期:24/04/12
精选 1 日期:23/04/12
我想让sql拉回的是:
事件 1 日期:23/04/12
精选 1 日期:23/04/12
事件 2 日期:24/04/12
像上面这样的命令会像这样让它通过:
事件 1 日期:23/04/12
事件 2 日期:24/04/12
精选 1 日期:23/04/12
最佳答案
我假设您正在使用 ActiveRecord?将此添加到您的 ActiveRecord 查询中:
.order("events.date ASC, featureds.date ASC")
表名是我猜的..(特征
?)
另见 the guide .
关于sql - Rails 在多个表上按列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14068361/