ruby-on-rails - 如何在 FROM 子句中使用 ActiveRecord 进行带有子查询的 sql 查询
问题描述
您知道如何在 FROM 子句中翻译带有子查询的 SQL 查询吗?
这是一个例子:
SELECT
*
FROM
cars
WHERE
cars.id IN (
SELECT
cars.user_id
FROM
cars AS cf, (SELECT
cars.user_id, MAX(consumption) AS consumption FROM
cars
GROUP BY
user_id) AS t1
WHERE
cars.consumption = t1.consumption
AND
cars.user_id = 2
AND
t1.user_id = cars.user_id)
解决方案
Car.where('id IN (SELECT cars.user_id FROM cars AS cf, (SELECT cars.user_id, MAX(consumption) AS consumption FROM cars GROUP BY user_id) AS t1 WHERE cars.consumption = t1.consumption AND cars.user_id = :user_id AND t1.user_id = cars.user_id)', user_id: 2)
推荐阅读
- node.js - 从硒元素中获取字符串
- c++ - 私有地图值的基于范围的 for 循环
- php - Codeigniter PHPwork
- python-3.x - 在单元测试中获取 Celery 重试方法的参数
- ios - 如何创建 if 语句来确定在 tableView 中使用什么数组?
- scala - Sparkstreaming + Kafka 到 hdfs
- c# - MD5、SHA-256、SHA-512是否适合计算大文件的哈希值?
- angularjs - html5 TEXT AREA - 限制特殊字符 - 当输入包含在末尾时
- javascript - jQuery UI drop 事件在不离开鼠标的情况下触发
- java - 如何在java中追加到文件