declare @Temp table
(CaseID int,
PrimaryClientID int,
Category int
)
INSERT INTO @Temp
SELECT
[casCaseID],
[casPrimaryClientID],
CASE
WHEN (SELECT COUNT(evecaseid) FROM MPS3.dbo.Events where evecaseid=cascaseid and eveworkflowid=960)>0 THEN 1
WHEN (SELECT COUNT(CTC2.ctcCaseID)FROM MPS3.dbo.ClientToCase CTC1 INNER JOIN MPS3.dbo.ClientToCase CTC2 ON CTC1.ctcClientID=CTC2.ctcClientID INNER JOIN MPS3.dbo.Events E2 ON CTC2.ctcCaseID=E2.eveCaseID AND E2.eveWorkflowID=960 WHERE CTC1.ctcCaseID=casCaseID AND CTC2.ctcCaseID < CTC1.ctcCaseID)>0 THEN 2
ELSE 3
END AS [FPCategory]
FROM [MPS3].[dbo].[Cases]
WHERE
casRecontactDate BETWEEN '2012-01-01' AND '2012-01-01'
AND
casCaseType = 'm'
ORDER BY FPCategory
SELECT
Category AS [CategoryType],
COUNT(Category) AS [CategoryTotal]
CASE
WHEN [Category] = 0 or [Category] = 0 THEN 0
else ([Category]+0.0)/COUNT[Category])
END AS [Percentage],
FROM
@Temp
GROUP BY
Category
To simplify what I've put, I've created a temporary table which lists out cases on a database. I've applied a case statement which then categorizes these cases into 3 types, either 1,2 or 3.
In the select statement below that I would like to have another column which shows the percentage of each of those categories from the total. My problem is that I can't use the alias "FPCategory" from the earlier case statement as it hasn't occurred yet for a valid column name to be used in the later statement.
Thanks!