表格看起来
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分的人。
我的例外结果
1 Maths 50
2 Maths 80
2 Science 50
3 Maths 85
如何形成查询以获得结果?
注意:主题是动态的,最小和最大可适用于任何主题。
答案 0 :(得分:0)
试试这个
(SELECT StudentId, SubjcetName, Marks
FROM table
WHERE SubjcetName = 'Maths'
AND Marks BETWEEN 50 AND 90)
UNION
(SELECT StudentId, SubjcetName, Marks
FROM table
WHERE SubjcetName = 'Science'
AND Marks < 75)
答案 1 :(得分:0)
请尝试以下查询,
SELECT StudentId, SubjcetName, Marks FROM tablename
WHERE Marks BETWEEN 50 AND 90
AND SubjcetName="Maths"
OR
(Marks < 75 AND SubjcetName="Science")
这对我有用。