次のスカラー関数がありますが、問題は実際の結果を返さず、クエリを返すことです。
私がここで見逃していることや間違っていることについて、誰かが私を案内してくれますか?
私は次の関数を形成しました
ALTER function test(@QueId int, @Answer varchar(250)) RETURNS VARCHAR(500) AS
BEGIN
DECLARE @STR varchar(4000)
DECLARE @QRY AS VARCHAR(1000)
SELECT @QRY=
'SELECT @str = COALESCE(@str + '';'','''') + AnswerText '+
'FROM SurveyQuestionAnswerTypes WHERE AnswerType=(Select AnswerType From SurveyQuestions Where QuestionID=' +
CAST(@QueId AS VARCHAR(4)) + ')AND AnswerValue in (' + replace(@Answer,'^',',') +')'
--EXEC sp_executesql @QRY, '@STR VARCHAR(4000)', @STR
RETURN @QRY
END
結果を返す代わりに、それを返します
SELECT @str = COALESCE(@str + ';','') + AnswerText
FROM SurveyQuestionAnswerTypes
WHERE AnswerType = (Select AnswerType
From SurveyQuestions
Where QuestionID=25)AND AnswerValue in (3,4,5,6)