-1
나는 CASE WHEN 문을 사용하여 시도했다. 그러나 내가 뭔가를 놓친 것처럼 보이거나이 올바른 방법이 아닙니다. @APASS 매개 변수는 지정된 시험을 통과 한 사람이나 통과 한 사람을 반환하도록 쿼리를 만듭니다. 귀하의 경우에는SQL에서 분기를 어떻게 지정할 수 있습니까?
SELECT ID, Name,ZipCode,Mobile
FROM tblStudent
WHERE (Sex = @Sex) AND (ID IN
(SELECT StID
FROM tblTest
WHERE (TestID = @TestID) AND
CASE WHEN @APass = TRUE THEN (Score IN (27, 28, 29, 30))
ELSE (Score NOT IN (27, 28, 29, 30))
END
GROUP BY StID, TestID
HAVING (COUNT(*) = @Times)))
'TRUE'는 어디에서 왔습니까? SQL Server에는 부울 유형이 없습니다. '@ APass'의 가치는 무엇입니까? – RedFilter
APASS는 Tye 비트입니다. 참인지 거짓인지 확인합니다. – Breeze