내 문제는이 쿼리는 MainRule 테이블에 Table1 테이블과 일치하는 ID가있는 경우에만 작동한다는 것입니다. MainRule 테이블에 일치하는 ID가없는 경우에도 쿼리가 작동해야합니다. Table1의 레코드는 MainRule 테이블에 일치하는 레코드가없는 경우에도 표시되어야합니다.두 테이블 사이에 일치하지 않으면 내 데이터가 표시되지 않습니다
SELECT Person, OrderNum, Name, County, SubmitDate, Days1,
SUM(Date_Diff) - 1 AS [Number of Uncleared Days]
From
(SELECT D1.RecordID AS Person, D3.[case no] AS OrderNum,
D3.FullName AS Name, D3.County, D3.[SignedDate] AS SubmitDate,
DATEDIFF(d, D3.[SignedDate], D3.closedate) AS Days1,
DATEDIFF(DAY, [HoldDate],
(SELECT TOP 1 [StatusDate]
FROM [MainRule] D2
WHERE D2.Status = 'Cleared'
AND D1.RecordID = D2.RecordID
AND D1.StatusDate < D2.StatusDate)) AS [Date_Diff]
FROM [MainRule] AS D1 INNER JOIN table1 AS D3 ON D3.ID = D1.RecordID
WHERE D1.Status = 'UnCleared') SubQ
WHERE (SubmitDate BETWEEN '10/01/2017' and '10/17/2017')
GROUP BY Person, OrderNum, Name, County, SubmitDate, Days1
그런 다음 Table1을 쿼리의 루트로 사용하고 MainRule에 왼쪽으로 결합해야합니다. –