Distributors と Orders の 2 つのテーブルがあります。各月の注文数を取得したい (0 カウントを含む) CustId の月と年でグループ化しています。注 : クライアントは SQL 2000 を使用しています :(
これは私が欲しいものです
DistID Month Year Orders
------------------------------
1 1 2012 4
1 2 2012 13
1 3 2012 5
2 1 2012 3
2 2 2012 0
2 3 2012 0
3 1 2012 8
3 2 2012 0
3 3 2012 3
4 1 2012 1
4 2 2012 0
4 3 2012 1
5 1 2012 6
5 2 2012 6
5 3 2012 0
これは私が得るものです
DistID Month Year Orders
------------------------------
1 1 2012 4
1 2 2012 13
1 3 2012 5
2 1 2012 3
3 1 2012 8
3 3 2012 3
4 1 2012 1
4 3 2012 1
5 1 2012 6
5 2 2012 6
なぜだか知っているよ。特定の月の Orders テーブルに行がないためです。その月と年の Orders テーブルに行がない場合、カウントを 0 にする方法はありますか?
これが私がこれまでに持っているものです
SELECT
D.DistID,
DATEPART(MONTH, Order_Date) AS [Month],
DATEPART(YEAR, Order_Date) AS [Year],
SUM(Total_PV) AS TotalPV,
COUNT(D.DistId) AS Orders
FROM Distributor D
LEFT OUTER JOIN Order O ON D.DistID = O.Distributor_ID
WHERE DATEPART(YEAR, Order_Date) > 2005
GROUP BY DistID, DATEPART(MONTH, Order_Date), DATEPART(YEAR, Order_Date)
ご意見ありがとうございます