データベース内のデータの表示に問題があります。フィールドを持つjos_stock
テーブルがありますrem_balance
。rem_balance
価値があります0, 126, 12, 9
。私のウェブサイトで。rem_balance
2012 年の週 26 の場合、残高の値は 0 です。これは、2012 年の週 25 = 126、2012 年の週 24 = 12、および 2012 年の週 23 = 9 を意味します。
私がやりたいのは、現在の週の値が 26 である場合に 0 に等しい場合です。以前の残高である 126 が表示されます。これを行うにはどうすればよいですか? なにか提案を?Ruby on Rails を使用しています。
モデルのクエリは次のとおりです。
SELECT("jos_product.id, jos_product.product_code AS code, jos_product.name,
pc.id AS category_id, pc.name AS category_name, thumbnail, location,
original_image,CONCAT(sm.year, '/', sm.week) as week_start,
CONCAT(sm2.year, '/', sm2.week) AS reprint_week, pr.quantity AS reprint_qty,
jos_stock.rem_balance AS balance")
.joins("INNER JOIN jos_product_category AS pc ON pc.id = jos_product.product_category")
.joins("INNER JOIN jos_stock_movement AS sm ON sm.id = jos_product.start_week")
.joins("LEFT OUTER JOIN jos_stock ON jos_stock.product_id = jos_product.id")
.joins("LEFT OUTER JOIN (select product, max(stock_movement) AS reprint, quantity from
jos_product_reprint group by product) AS pr ON pr.product IN (jos_product.id)")
.joins("LEFT OUTER JOIN jos_stock_movement AS sm2 ON sm2.id = pr.reprint")
.where("jos_product.published = 1 #{ search_query }")
.order("jos_product.product_code ASC")
.group("jos_product.product_code")