条件计数与组

Conditional Counting with group

需要有关条件计数的帮助我无法在报告中显示我需要的数据。我正在使用 sql 服务器 2008,sap crystal 报告

我的代码

    SELECT c.Clients_Name
    ,COUNT(CASE 
            WHEN b.FI_result = 'Passed'
                AND Date_applied >= @DS
                AND Date_applied <= @DE
                THEN 1
            END) AS [Jan]
    ,COUNT(CASE 
            WHEN b.FI_result = 'Passed'
                AND Date_applied >= @DS
                AND Date_applied <= @DE
                THEN 1
            END) AS [Feb]
    ,COUNT(CASE 
            WHEN b.FI_result = 'Passed'
                AND Date_applied >= @DS
                AND Date_applied <= @DE
                THEN 1
            END) AS [Mar]
FROM Applicant_Operators AS a
INNER JOIN Applicant_IS_History AS b ON a.Applicant_ID = b.Applicant_ID
INNER JOIN Clients AS c ON b.Client_Name = c.Client_ID
WHERE Date_applied >= @DS
    AND Date_applied <= @DE
GROUP BY c.Clients_Name

` 代码展示

Clients     Jan Feb Mar
DENSO       14  14  14
NPI         7   7   7
MICROTOP    48  48  48

我要显示的内容

Clients     Jan Feb Mar
DENSO       5   3   6
NPI         2   1   4
MICROTOP    10  20  18

感谢任何帮助

您需要一些东西来识别月份。也许这就是你想要的:

SELECT c.Clients_Name,
       SUM(CASE WHEN b.FI_result = 'Passed' AND
                     Date_applied >= @DS AND Date_applied <= @DE AND
                     MONTH(Date_applied) = 1
                THEN 1 ELSE 0
           END) AS [Jan],
       . . .

我将 count() 替换为 sum() 只是我个人对条件聚合的偏好。