Use SQL CONVERT function.
Refer below sample test query.
SQL
DECLARE @ResultTable AS TABLE(Emp_id INT,QID INT,AnswerId INT)
INSERT INTO @ResultTable VALUES(1111,1,5)
INSERT INTO @ResultTable VALUES(2222,1,5)
INSERT INTO @ResultTable VALUES(3333,1,4)
INSERT INTO @ResultTable VALUES(4444,1,5)
INSERT INTO @ResultTable VALUES(5555,1,4)
INSERT INTO @ResultTable VALUES(6666,1,5)
SELECT ResultTable_Organization.QID,
COUNT(ResultTable_Organization.AnswerId) AS TotalAnswered,
CONVERT(DECIMAL(10,2),SUM(CASE WHEN [AnswerId] = 5 THEN 1 ELSE 0 END) * 100 / CONVERT(decimal(10),COUNT(ResultTable_Organization.AnswerId))) AS 'Disagree',
CONVERT(DECIMAL(10,2),SUM(CASE WHEN [AnswerId] = 4 THEN 1 ELSE 0 END) * 100 / CONVERT(decimal(10),COUNT(ResultTable_Organization.AnswerId))) AS 'Strongly Disagree',
CONVERT(DECIMAL(10,2),SUM(CASE WHEN [AnswerId] = 3 THEN 1 ELSE 0 END) * 100 / CONVERT(decimal(10),COUNT(ResultTable_Organization.AnswerId))) AS 'Agree',
CONVERT(DECIMAL(10,2),SUM(CASE WHEN [AnswerId] = 2 THEN 1 ELSE 0 END) * 100 / CONVERT(decimal(10),COUNT(ResultTable_Organization.AnswerId))) AS 'Not Applicable',
CONVERT(DECIMAL(10,2),SUM(CASE WHEN [AnswerId] = 1 THEN 1 ELSE 0 END) * 100 / CONVERT(decimal(10),COUNT(ResultTable_Organization.AnswerId))) AS 'Strongly Agree'
FROM @ResultTable ResultTable_Organization
WHERE (ResultTable_Organization.QID = 1)
GROUP BY ResultTable_Organization.QID
Output
QID |
TotalAnswered |
Disagree |
Strongly Disagree |
Agree |
Not Applicable |
Strongly Agree |
1 |
6 |
66.67 |
33.33 |
0.00 |
0.00 |
0.00 |