sql - Rails 在多个表上按列排序

标签 sql ruby-on-rails ruby postgresql

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

相关文章:

ruby-on-rails - Bash to Ruby - 使用 whois 和 grep 命令获取列表

ruby hash 添加键/值 if 修饰符

mysql - 如何向 mysql 数据库表添加行并将其显示在 vb.net 的列表框中?

mysql - SQL - 提取可变长度字符串的数字部分

跨多个相似 View 的 MySQL 查询

ruby-on-rails - Ruby on Rails - 查找值等于 NaN 的位置

ruby - 使用 SimpleForm 上传 CarrierWave;为什么 "remote_image_url"和 "image"保存到同一数据库列?

java - 缓存结果集

ruby-on-rails - Ruby on Rails-Zeus永久 "freezes"测试环境

ruby-on-rails - Ruby on Rails-运行 cucumber 时出错:您已经激活了activesupport 3.2.1,但是您的Gemfile需要activesupport 3.1.0。