如何在多个连接的Rails活动记录上将mysql查询转换为ruby

问题描述 投票:0回答:1

我想从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`
mysql ruby-on-rails
1个回答
0
投票

您可以像这样从find_by_sql尝试ActiveRecord::Querying

Product.find_by_sql(sql_query)

find_by_sql here的更多信息>

© www.soinside.com 2019 - 2024. All rights reserved.