Tôi đang thực hiện một số dựa trên phạm vi ngày. Hiện tại truy vấn không trả về kết quả chính xác nhưng tôi yêu cầu thông tin bổ sung. Trong biểu mẫu hiện tại của nó, truy vấn hiển thị mục có số lượng chính xác. Tuy nhiên tôi cần tất cả các mục được hiển thị, ngay cả khi số lượng của chúng là 0 cho phạm vi ngày được chỉ định.SQL - Trả về tất cả các hàng ngay cả khi số không là cho mục
Đây là đoạn mã 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
Khi tôi thực hiện truy vấn này tôi nhận được kết quả sau:
https://dl.dropbox.com/u/17234826/SQLresult.png
Kết quả này là đúng tuy nhiên tôi cần tất cả các loại yêu cầu để có danh sách , ngay cả khi không có yêu cầu nào trong phạm vi tạo, tức là
https://dl.dropbox.com/u/17234826/SQLresult1.png
Tôi đã thử sử dụng các kết nối khác nhau, IFNULL và ISNULL nhưng tôi không có gì để làm việc.
Nếu ai đó có thể chỉ cho tôi đúng hướng, tôi sẽ đánh giá cao điều đó.
sử dụng "bên ngoài tham gia". – Ben