2016-11-28 3 views
0

基本的には、私は週あたりの売上数を示していますが、特定の商品の売上がない週はスキップします。それらを0値として表示したいと思います。 ところで、以下の2つのクエリをマージすることは可能ですか?私はしようとしましたが、結合を働かせることができませんでした。SQL照会にゼロ値として売却された商品がない週を追加するにはどうすればいいですか?

SELECT tblWeek.WeekNum, [Query - Sales].ModelName, Count([Query - Sales].OutDate) AS CountOfOutDate 
FROM tblWeek LEFT JOIN [Query - Sales] ON tblWeek.WeekNum = [Query - Sales].WeekNumber 
GROUP BY tblWeek.WeekNum, [Query - Sales].ModelName 
HAVING ((([Query - Sales].ModelName) Is Not Null)) 
ORDER BY [Query - Sales].ModelName; 

クエリ - 販売:

SELECT DDL_Items.ModelName, DDL_Items.OutDate, DDL_Models.Type, DatePart("ww",[OutDate],2) AS WeekNumber 
FROM DDL_Models INNER JOIN DDL_Items ON DDL_Models.ModelName = DDL_Items.ModelName; 

enter image description here

、あなたとよろしくお願い

サンフランシスコ

+0

'tblWeek.WeekNum'はありませんがある場合欠落した週のデータは、結果セットに表示されません。このような場合は、カレンダーテーブルを使用してこの情報を取得する必要があります。 –

+0

tblWeek.WeekNumはカレンダーテーブルです。つまり、この表には1から53までの数字しかありません(週番号)。 –

+0

0以外で表示されているのは何週間ですか? –

答えて

1

あなたがしたいまず最初に参加デカルトを作成することですあなたのモデル名と週の間。次のようなものがあります。

SELECT DISTINCT [Query - Sales].ModelName, tblWeek.WeekNum 
FROM [Query - Sales] 
LEFT JOIN tblWeek 

これにより、すべてのモデル名に対して1つのレコードが作成されます。

その後、このクエリに実際のデータを参加したい:誰かが答えを探している場合は、以下の

SELECT qryA.*, Count([Query - Sales].OutDate) AS CountOfOutDate 
FROM (
SELECT DISTINCT [Query - Sales].ModelName, tblWeek.WeekNum 
FROM [Query - Sales] 
LEFT JOIN tblWeek 
) as qryA 
LEFT JOIN [Query - Sales] 
    ON tblWeek.WeekNum = qryA.WeekNumber 
GROUP BY tblWeek.WeekNum, qryA.ModelName 
HAVING qryA.ModelName Is Not Null 
ORDER BY qryA.ModelName; 
+0

これは本当に私が必要なもののように聞こえる。基本的にすべての週/モデルの組み合わせを作成します。しかし、私は最初のクエリの仕事をすることを管理していません。 from節に構文エラーが発生しました。 –

+0

わかりません。 Accessで、デザインモードを使用してtblWeekと[Query - Sales]の両方を追加し、それらを結合しないと、デカルト結合が作成されます。これを試して、AccessにあなたのためのSQLを書き込ませ、それを大きな(2番目の)クエリで使用させてください。 –

+0

素晴らしいです、ありがとう! –

0

全コード:

SELECT qryA.ModelName, qryA.WeekNum, Count([Query - Sales].OutDate) AS CountOfOutDate 
FROM qryA LEFT JOIN [Query - Sales] ON qryA.WeekNum = [Query - Sales].WeekNumber 
GROUP BY qryA.ModelName, qryA.WeekNum; 
関連する問題