我正在執行基於日期範圍的計數。目前查詢確實返回了正確的結果,但我需要更多信息。在它的當前形式下,查詢顯示具有正確計數的項目。不過,我需要顯示所有項目,即使在指定的日期範圍內它們的計數爲零。SQL - 返回所有行,即使計數爲零,項目
下面是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,但我沒有任何工作。
如果有人能指出我在正確的方向,我會很感激。
使用「外部聯接」。 – Ben