Jag blir inte riktigt klok.
Har en tabell enl:
AnswerID |ReportID | StudentID | BaseID | GoalID | Answer | osv...
en sp:
ALTER PROCEDURE tuser887.GetSavedBaseByStudentID @StudentID uniqueidentifier
AS
Select answerId, reportId, studentId, Base.BaseName, Topic.TopicName, answers.GoalId, Answer, Comment, [TimeStamp], CreatedBy,
sum(case when Answer = 0 then 1 else 0 end) as iGreen,
sum(case when Answer = 1 then 1 else 0 end) as iOrange,
sum(case when Answer = 2 then 1 else 0 end) as iRed,
as totalQuestions
from MyPlan_Answers AS Answers
Left Outer JOIN MyPlan_Base AS Base
ON Base.BaseId = Answers.BaseId
Left Outer JOIN MyPlan_Goal AS Goal
ON Goal.GoalId = Answers.GoalId
Left Outer JOIN MyPlan_Topic AS Topic
ON Topic.TopicId = Goal.TopicId
Where studentId = @StudentID
Group BY CreatedBy, answerId, reportId, studentId, Base.BaseName, Topic.TopicName, answers.GoalId, Answer, Comment, [TimeStamp], Base.BaseId
Order by createdBy, Base.Basename, Topic.TopicName
RETURN
ALTER PROCEDURE tuser887.GetSavedBaseByStudentID @StudentID uniqueidentifier
AS
Select Base.BaseName, Topic.TopicName, CreatedBy,
sum(case when Answer = 0 then 1 else 0 end) as iGreen,
sum(case when Answer = 1 then 1 else 0 end) as iOrange,
sum(case when Answer = 2 then 1 else 0 end) as iRed,
(SELECT COUNT(*) FROM MyPlan_Goal i WHERE i.BaseId = Base.BaseId and i.TopicId = Topic.TopicID) as totalQuestions
from MyPlan_Answers AS Answers
Left Outer JOIN MyPlan_Base AS Base
ON Base.BaseId = Answers.BaseId
Left Outer JOIN MyPlan_Goal AS Goal
ON Goal.GoalId = Answers.GoalId
Left Outer JOIN MyPlan_Topic AS Topic
ON Topic.TopicId = Goal.TopicId
Where studentId = @StudentID
Group BY CreatedBy, Base.BaseName, Topic.TopicName, Base.BaseId, Topic.TopicId
Order by createdBy, Base.Basename, Topic.TopicName
RETURN
501 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf