日付範囲に基づいてカウントを実行しています。現在、クエリは正しい結果を返しますが、追加情報が必要です。現在の形式では、クエリは正しい数のアイテムを表示します。ただし、指定された日付範囲のカウントがゼロであっても、すべてのアイテムを表示する必要があります。
SQL コードは次のとおりです。
INSERT INTO @CreationCount (BaselineID, Name)
SELECT distinct [BaselineID],[Name]
FROM [Baseline_INFO]
DECLARE @ReqType TABLE (Type nvarchar(128))
INSERT INTO @ReqType (Type)
SELECT DISTINCT Tree.Type as 'Requirement Type'
FROM [TREE]
INNER JOIN [Project_INFO] ON [Project_INFO].[ProjectID]=[Tree].[Project_ID]
INNER JOIN [Baseline_INFO] ON [Baseline_INFO].[BaselineID]=[Tree].[Baseline_ID]
WHERE [Project_INFO].[Name] = 'Address Book' AND [Baseline_INFO].[Name] = 'Current
Baseline'
Group By Tree.Type
SELECT Tree.Type as 'Requirement Type', COUNT(Tree.Type) as 'Number in Creation Range'
FROM [Tree]
INNER JOIN @ReqType As RT on RT.Type = Tree.Type
INNER JOIN [Project_INFO] ON [Project_INFO].[ProjectID]=[Tree].[Project_ID]
INNER JOIN @CreationCount AS CCount ON CCount.BaselineID=Tree.Baseline_ID
WHERE [Project_INFO].[Name] = 'Address Book' AND CCount.Name = 'Current Baseline'
AND [Tree].[creationDate] >= ('2010-01-01') and [Tree].[creationDate] < ('2020-01-01')
GROUP BY tree.Type
このクエリを実行すると、次の結果が得られます。
https://dl.dropbox.com/u/17234826/SQLresult.png
この結果は正しいですが、作成範囲に要件がない場合でも、すべての要件タイプをリストにする必要があります。
https://dl.dropbox.com/u/17234826/SQLresult1.png
さまざまな結合、IFNULL および ISNULL を使用してみましたが、何も機能しません。
誰かが私を正しい方向に向けることができれば、私はそれを感謝します.