条件计数与组
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()
只是我个人对条件聚合的偏好。
需要有关条件计数的帮助我无法在报告中显示我需要的数据。我正在使用 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()
只是我个人对条件聚合的偏好。