Ruby on rails 3.2 rails 3跨日期范围的条件和计算
查询从date\u start到date\u end,我需要验证在每个日期,给定产品的可用数量是否满足阈值Ruby on rails 3.2 rails 3跨日期范围的条件和计算,ruby-on-rails-3.2,multiple-conditions,Ruby On Rails 3.2,Multiple Conditions,查询从date\u start到date\u end,我需要验证在每个日期,给定产品的可用数量是否满足阈值 @inventories = Inventory.where(['product_id IN (?) AND date_available >= ? AND date_available <= ? AND quantity >= ?', @products, @date_start, @date_end, params[:quantity]]).all Q1我现在如何推
@inventories = Inventory.where(['product_id IN (?) AND date_available >= ? AND date_available <= ? AND quantity >= ?', @products, @date_start, @date_end, params[:quantity]]).all
Q1我现在如何推断所有可用产品,即数量>=?在每个日期和
Q2我需要对每个可用产品的每个日期的价格求和,以便按价格对视图进行排序
*编辑*
给出一个建议的答案,我认为提供示例数据以进一步澄清可能是明智的
产品标识日期可用数量价格1价格2
1 -2014-05-27 - 3 - 35 - 60
1 -2014-05-28 - 3 - 35 - 60
1-2014-05-29-3-25-50
2-2014-05-27-3-35-60
2 -2014-05-28 - 1 - 35 - 60
2-2014-05-29-3-35-60
3-2014-05-27-3-30-55
3 -2014-05-28 - 3 - 30 - 55
3-2014-05-29-3-30-55
@价格=价格1和参数[:数量]的串联
如果搜索参数为2014-05-27..2014-05-29,数量=2
我应该生成
产品3,价格=165
产品1,价格170
产品2失败,因为在某个日期未达到阈值
上下文:rails 3.2.17、postgresql、ruby 1.9.3
@inventories = Inventory.where(['product_id IN (?) AND date_available >= ? AND date_available <= ? AND quantity >= ?', @products, @date_start, @date_end, params[:quantity]]).select("date_available as date, product as product, sum(quantity) as quantity, sum(price) as price")).group('date, product').order('price')
从上面的查询中,你可以得到每天的产品数量和价格。我的问题可能不完整,所以我已经在上面详细阐述和举例说明。但数量不应求和,需要为每个记录定义阈值。我也不确定你为什么建议按日期分组。。。
@inventories = Inventory.where(['product_id IN (?) AND date_available >= ? AND date_available <= ? AND quantity >= ?', @products, @date_start, @date_end, params[:quantity]]).select("date_available as date, product as product, sum(quantity) as quantity, sum(price) as price")).group('date, product').order('price')