2
タイプ別に製造され、月/年で集計された製品の合計を集計しようとしています。SQLカテゴリ別および月別のグループ別合計
3つのテーブル:
- ORDER_LINE:ID、batch_date_stopは、Order_Line_Detail
- をITEM_ID:order_line_id、batched_qtyを、Mill_Item_Map
- をITEM_ID:ITEM_IDを、
item_class以下のスクリプトの作業毎月各カテゴリごとに別の行を作成しています。私は各製品の合計で1つのラインが欲しいです。私は何が欠けていますか?
SELECT
YEAR(OL.batch_date_stop) as [Manf Year],
MONTH(OL.batch_date_stop) as [Manf Month],
SUM(case when MIM.item_class is not null then OLD.batched_qty else 0 end)/2000 AS Total,
SUM(case when MIM.item_class = 'CAKE' then OLD.batched_qty else 0 end)/2000 AS [Cake],
SUM(case when MIM.item_class = 'PELLET' then OLD.batched_qty end)/2000 AS [Pellet],
SUM(case when MIM.item_class = 'MINERAL' then OLD.batched_qty end)/2000 AS [Mineral],
SUM(case when MIM.item_class = 'MIX' then OLD.batched_qty end)/2000 AS [Mix],
SUM(case when MIM.item_class = 'GRAIN' then OLD.batched_qty end)/2000 AS [Grain]
FROM Order_Line OL
JOIN order_line_detail OLD ON OLD.order_line_id = OL.id
JOIN mill_item_map MIM ON MIM.item_id = OL.item_id
WHERE YEAR(OL.batch_date_stop) = 2016 and
OLD.sequence_number = 0
Group BY MIM.item_class, YEAR(OL.batch_date_stop), MONTH(OL.batch_date_stop)
ORDER BY YEAR(OL.batch_date_stop), MONTH(OL.batch_date_stop)
により、グループ内で唯一の年と月を使用してみてください。 – Hogan