Inline table function
SQL Server 2008 R2 でを作成しましたが、一部のクエリが任意のレコードを返すことに気付きました。だから私はそれが起こったときに、すべての空の列を持つレコードを返すことを望みます.
例:
Col1 Col2 Col3
NULL NULL NULL
更新:ここに関数があります
ALTER FUNCTION [dbo].[GetWorksheetSummaryByObjective](@objectiveId [smallint], @testTemplateId [smallint])
RETURNS @resultTable TABLE (
[AnsweredWorksheetId] [smallint] NOT NULL,
[LastDate] [date] NULL,
[BestScore] [smallint] NULL,
[ShouldBeMakeUp] [tinyint] NOT NULL
)
AS
BEGIN
INSERT @resultTable
SELECT TOP 1 B.Id AS AnsweredWorksheetId, A.Date, CONVERT(smallint, B.Score * 100),
CASE
WHEN B.Score >= 0.7 THEN 0
ELSE 1
END AS ShouldBeMakeUp
FROM AnsweredTest AS A
RIGHT JOIN AnsweredWorksheet AS B ON (A.Id = B.AnsweredTestId)
WHERE B.ObjectiveId = @objectiveId AND A.ExamTemplateId = @testTemplateId
ORDER BY B.Score DESC
RETURN
END