我想向 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/