안녕하세요, 지난 6 개월 동안 등록 데이터를 반환하는 이와 같은 쿼리가 있습니다. 그러나 데이터가 적어도 하나의 등록이 있어야 표시됩니다. 등록이없는 달을 어떻게 표시 할 수 있습니까? 잘? 나는 아마도이 라인에 뭔가를해야한다는 것을 알고있다 :SQL Server + null 데이터 반환
LEFT(CONVERT(varchar, issuedate, 112), 6) BETWEEN
LEFT(CONVERT(varchar, DATEADD(MM, -6, GETDATE()), 112), 6) AND
LEFT(CONVERT(varchar, GETDATE(), 112), 6)
고마워.
SELECT
DateName(month,issuedate) + ' ' + CAST(Year(issuedate) as Char(4)) as IssueDate,
COUNT(distinct m.ID) AS SignUps
FROM
Member m
INNER JOIN
Card c ON m.ID = c.MemberID
WHERE
m.Deletedby is null
AND c.Deletedby is null
AND LEFT(CONVERT(varchar, issuedate, 112), 6) BETWEEN
LEFT(CONVERT(varchar, DATEADD(MM, -6, GETDATE()), 112), 6)
AND LEFT(CONVERT(varchar, GETDATE(), 112), 6)
GROUP BY
DateName(month, issuedate) + ' ' + CAST(Year(issuedate) AS Char(4)), CAST(CAST(YEAR(issuedate) AS VARCHAR) + '/'+ CAST(MONTH(issuedate) AS VARCHAR) +'/1' AS DateTime)
단순히 해당 조건이 당신이 원하는 것을 달성 제거하지 않을까요? – ToddBFisher