Ich bin mir nicht sicher, was ich mache, um das falsch zu machen. Ich versuche, die Anzahl von usertb.id pro Monat zu erhalten. Ich möchte, dass die 0s angezeigt werden, wenn die Anzahl null ist. Ich verwende einen linken äußeren Join mit einer Monatstabelle, die nur die ID des Monats und den Namen des Monats enthält. Bitte helfen Sie. Ich bin mit SQL Server 2008Kann Nullwerte für die Zählung pro Monat nicht erhalten
SELECT
monthTB.name
,subTB.name
,COUNT(userTB.ID)
FROM TDP_NetOps.dbo.sub_activity AS subTB
,TDP_NetOps.dbo.month AS monthTB
LEFT OUTER JOIN TDP_NetOps.dbo.user_sub_activity AS userTB ON monthTB.ID = DATEPART(month, userTB.date_of_activity)
WHERE
subTB.sub_activity_id = userTB.sub_activity_id
AND userTB.emp_id = 'xxxx'
GROUP BY
monthTB.name
,monthTB.ID
,subTB.name
ORDER BY
monthTB.ID ASC
,subTB.name ASC
* Niemals * Kommas in der 'FROM' Klausel. * Verwenden Sie immer explizite 'JOIN'-Syntax. –