0

我试图通过对多个表中的列进行排序来在 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

4

1 回答 1

3

我假设您正在使用 ActiveRecord?将此添加到您的 ActiveRecord 查询中:

.order("events.date ASC, featureds.date ASC")

表名是我的猜测..(featureds?)

另请参阅指南

于 2012-12-28T10:55:40.913 回答