SELECT ISNULL(aaa.CategoryName, bbb.CategoryName)
AS CategoryName, ISNULL(aaa.QuestionID, bbb.QuestionID) AS QuestionID,
ISNULL(aaa.QuestionContent, bbb.QuestionContent) AS QuestionContent,
ISNULL(aaa.AvgScore, '') AS CurScore, ISNULL(bbb.AvgScore, '') AS LastScore,
ISNULL(aaa.AvgScore, '') - ISNULL(bbb.AvgScore, '') AS Distance,
Rate=Str(CASE WHEN isnull(bbb.AvgScore,'')<> 0 THEN (isnull(aaa.AvgScore,'')-isnull(bbb.AvgScore,''))/isnull(bbb.AvgScore,'') ELSE 0 END,6,2)
FROM (SELECT *
FROM SurveyQuestion
WHERE Status = 2) aaa FULL OUTER JOIN
(SELECT *
FROM SurveyQuestion
WHERE Status = 3) bbb ON aaa.QuestionID = bbb.QuestionID
GROUP BY ISNULL(aaa.CategoryName, bbb.CategoryName), ISNULL(aaa.QuestionID,
bbb.QuestionID), ISNULL(aaa.AvgScore, ''), ISNULL(bbb.AvgScore, ''),
ISNULL(aaa.AvgScore, '') - ISNULL(bbb.AvgScore, ''), aaa.QuestionID,
ISNULL(aaa.QuestionContent, bbb.QuestionContent),Str(CASE WHEN isnull(bbb.AvgScore,'')<> 0 THEN (isnull(aaa.AvgScore,'')-isnull(bbb.AvgScore,''))/isnull(bbb.AvgScore,'') ELSE 0 END,6,2)