query return StudentId and HaveGift, now i want when (studentId) returned i use another select to find Student info from tbl_Students (StuName,StuLName ,... ). The SQL which return HaveGift No:
CREATE PROCEDURE SelectGiftsTest
@StudentId INT,
@DateMinCur NVARCHAR(12),
@DateMaxCur NVARCHAR(12),
@DateMinPrev NVARCHAR(12),
@DateMaxPrev NVARCHAR(12)
AS
WITH Prev AS
(
SELECT StudentId, ISNULL(SUM(Score),0) As HighScoreUser
FROM (SELECT StudentId, Score FROM tbl_ActPoint
UNION ALL
SELECT StudentId, Score FROM tbl_EvaPoint WHERE Date>=@DateMinPrev AND Date <= @DateMaxPrev AND StudentId = @StudentId
) as T
GROUP BY StudentId
),
Cur AS
(
SELECT StudentId, ISNULL(SUM(Score),0) As HighScoreUser
FROM (SELECT StudentId, Score FROM tbl_ActPoint
UNION ALL
SELECT StudentId, Score FROM tbl_EvaPoint WHERE Date>=@DateMinCur AND Date <= @DateMaxCur AND StudentId = @StudentId
) as T
GROUP BY StudentId
)
SELECT CASE
WHEN(Prev.HighScoreUser <= Cur.HighScoreUser)
THEN 'Yes'
ELSE 'No'
END as HaveGift,Prev.StudentId
FROM Prev
INNER JOIN Cur
ON Prev.StudentId = Cur.StudentId
WHERE Prev.StudentId=@StudentId
RETURN 0