mysql - 如何在多个连接中将 mysql 查询转换为 ruby​​ on Rails 事件记录

标签 mysql ruby-on-rails

我想向 Ruby on Rails 专家寻求一些帮助,将此 MySQL 查询转换为 Rails 中的事件记录。

 SELECT 
    products.id,
    products.product_name,
    products.price,
    IFNULL(products.quantity, 0) + IFNULL(product_in.quantity, 0) - IFNULL(product_out.quantity, 0) AS Quantity
    FROM products
    LEFT JOIN (
        SELECT product_id, SUM(`quantity`) AS Quantity
        FROM purchases
        GROUP BY product_id
    ) product_in ON products.id = product_in.product_id
    LEFT JOIN (
        SELECT product_id, SUM(quantity) AS quantity
        FROM transaction_details
        GROUP BY product_id
    ) product_out ON products.id = product_out.`product_id`

最佳答案

您可以尝试从 ActiveRecord::Querying 中查找 find_by_sql,如下所示:

Product.find_by_sql(sql_query)

有关 find_by_sql 的更多信息 here

关于mysql - 如何在多个连接中将 mysql 查询转换为 ruby​​ on Rails 事件记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59246582/

相关文章:

ruby-on-rails - Rails Paperclip - 获取不同尺寸图像的路径

mysql - Rails/Sqlite 3 - 在页面上显示表格数据

mysql - MYSQL数据库建模器在图 View 中显示参照完整性

ruby-on-rails - 如何更改 Rails 4 中的 HTTP header (例如 X-UA-Compatible)?

ruby-on-rails - Heroku - 预编译 Assets 失败。推送被拒绝,无法编译 Ruby 应用程序

ruby-on-rails - 使用 capybara 单击复选框

javascript - 如何使用VB.Net通过javascript变量将JSON对象插入Mysql数据库

php - 在 CakePHP 2.x ORM + 使用 Function MySQL AND NameClass Models 中删除 ;(

mysql - 如何使用 perl dbi 和 mysql 压缩数据

jquery - 通过 AJAX 将元素添加到 DOM 后重新绑定(bind) Foundation 6 中的事件