请注意,下面我需要声明一个变量,该变量是另一个查询的结果。如果不这样做,我需要在需要该值的任何时候重复此查询。
SQL Server 抛出一个关于不写关键字DECLARE
的异常。SELECT
我能做什么或我错过了什么?
SELECT A.StudentId,
(
CASE WHEN (SELECT B.OverwrittenScore
FROM dbo.OverwrittenScores AS B
WHERE B.StudentId = A.StudentId AND B.AssignmentId = @assignmentId) IS NOT NULL
THEN (SELECT B.OverwrittenScore
FROM dbo.OverwrittenScores AS B
WHERE B.StudentId = A.StudentId AND B.AssignmentId = @assignmentId)
ELSE (-- ANOTHER QUERY, BY THE MOMENT: SELECT 0
) END
) AS FinalScore
FROM dbo.Students AS A
在括号内我需要实现一些逻辑,我的意思是可能实现另外两个查询。我在想是否可以在这里使用 BEGIN 关键字,但没有成功