【发布时间】:2016-11-17 06:05:23
【问题描述】:
表格外观
StudentId, SubjcetName, Marks
1 Maths 50
1 Science 80
1 Language 70
2 Maths 80
2 Science 50
2 Language 60
3 Maths 85
3 Science 95
3 Language 60
我想从这张表中获取记录 - 谁在数学中获得最低分数:50 和最高分数:90,以及谁在科学中获得低于 75 分。
I 例外结果
1 Maths 50
2 Maths 80
2 Science 50
3 Maths 85
如何形成查询得到结果?
注意:主题是动态的,min 和 max 也可以适用于任何主题。
【问题讨论】:
-
SELECT StudentId, SubectName,Marks, (CASE WHEN SubectName='Maths' THEN Marks ELSE END) as MathsMarks, (CASE WHEN SubectName='Science' THEN Marks ELSE END) as ScienceMarks, (CASE WHEN SubectName='Language' THEN Marks ELSE END) as LanguageMarks FROM StundetTable WHERE Status'Active' HAVING MathsMarks >=50 AND MathsMarks