私はこれについてどうやって行くことができるか少し困惑しています。
現在、年と月ごとに各製品の売上を返す非常に基本的なクエリがあります。年月ごとにグループ化し、数量を合計しています。これは、販売があった製品/年/月の組み合わせごとに 1 行を返します。
1 か月間売上がなかった場合、データはありません。
実際に注文があったかどうかに関係なく、クエリで、日付範囲内の年/月ごとに各製品の 1 行のデータを返すようにしたいと考えています。
注文がない場合は、その製品/年/月に対して 0 を返すことができます。
以下は私のクエリの例です。
Declare @DateFrom datetime, @DateTo Datetime
Set @DateFrom = '2012-01-01'
set @DateTo = '2013-12-31'
select
Convert(CHAR(4),order_header.oh_datetime,120) + '/' + Convert(CHAR(2),order_header.oh_datetime,110) As YearMonth,
variant_detail.vad_variant_code,
sum(order_line_item.oli_qty_required) as 'TotalQty'
From
variant_Detail
join order_line_item on order_line_item.oli_vad_id = variant_detail.vad_id
join order_header on order_header.oh_id = order_line_item.oli_oh_id
Where
(order_header.oh_datetime between @DateFrom and @DateTo)
Group By
Convert(CHAR(4),order_header.oh_datetime,120) + '/' + Convert(CHAR(2),order_header.oh_datetime,110),
variant_detail.vad_variant_code