如何在多个连接中将mysql查询转换为RubyonRails活动记录

如何在多个连接中将mysql查询转换为RubyonRails活动记录,mysql,ruby-on-rails,Mysql,Ruby On Rails,我想请RubyonRails专家提供一些帮助,将这个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

我想请RubyonRails专家提供一些帮助,将这个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
中通过\u sql查找\u,如下所示:

产品。通过sql查找(sql查询)


更多关于
find\u by\u sql

Hi coolshox!!您可以尝试使用此工具将MySQL查询转换为活动记录
http://www.scuttle.io/
Hi@RajkumarP我已经试过了,但是转换不正确。让我试一下,已经试过了,但是它只得到了第一个选择,但是列的总和没有出现-,,,,,,,,,有人能帮忙吗?Thanks@coolshox您是否尝试过
ActiveRecord::Base.connection.execute(sql)
是的,我已经尝试过了。这是我使用的原始查询。这似乎是可行的,但我有麻烦,如果我用宝石'wice_网格'表。这就是为什么我在寻找是否可以将这个原始查询mysql转换为活动记录,以便使用易于使用的wice_grid gem。