Sql 多个和多个语句
我正在尝试确定某个记录在这两个年份中何时均为AtAboveBelowGradeLevel=1。换句话说,我将如何处理下面的案例陈述Sql 多个和多个语句,sql,case,Sql,Case,我正在尝试确定某个记录在这两个年份中何时均为AtAboveBelowGradeLevel=1。换句话说,我将如何处理下面的案例陈述 SELECT AcademicYear ,SchoolName ,Subject ,LastName ,firstname ,StudentBKID ,AtAboveBelowGradeLevelCount ,CASE WHEN AtAboveBelowGradeLevelCount = 1
SELECT AcademicYear
,SchoolName
,Subject
,LastName
,firstname
,StudentBKID
,AtAboveBelowGradeLevelCount
,CASE
WHEN AtAboveBelowGradeLevelCount = 1
AND AcademicYear = '2015-2016'
AND AcademicYear = '2016-2017'
AND AtAboveBelowGradeLevelCount = 1
THEN 'TRUE'
ELSE 'NO'
END
FROM StudentAssessmentMart.dbo.vwMAPAssessmentInformation
WHERE AcademicYear IN (
'2015-2016'
,'2016-2017'
)
AND SchoolName LIKE 'alliance%'
AND subject IN ('math')
AND StudentBKID IN (
'473106'
,'420219'
)
AND CalendarPeriodName = 'spring'
GROUP BY AcademicYear
,SchoolName
,Subject
,LastName
,firstname
,StudentBKID
,AtAboveBelowGradeLevelCount
ORDER BY StudentBKID
,AcademicYear
这是一个简化版本
SELECT
StudentBKID
,CASE
WHEN COUNT(CASE WHEN AtAboveBelowGradeLevelCount = 1 THEN 1 END) = 2
THEN 'TRUE'
ELSE 'NO'
END
FROM StudentAssessmentMart.dbo.vwMAPAssessmentInformation
WHERE AcademicYear IN ('2015-2016','2016-2017')
AND SchoolName LIKE 'alliance%'
AND subject IN ('math')
AND StudentBKID IN ('473106','420219')
AND CalendarPeriodName = 'spring'
GROUP BY StudentBKID
年份已经在的WHERE
上进行了筛选,因此您只需要有条件的计数,以便查看其中有多少是在地下