样品表-
rollno | subj_code | priority
1 | c45 | 0
1 | b68 | 1
1 | a98 | 2
2 | a98 | 0
我要选择最小值为的行 priority
为此,我使用下面的查询,如果数据库中有多行,它的工作正常(例如 rollno = 1
).
SELECT subj_code FROM priorities WHERE rollno = roll AND priority = (
select min(priority) from priorities
)
但在我的表中,有可能只有一个条目 rollno
也就是说只有一行 priority
(例如 rollno
=2)在这种情况下,上述查询不会给出 subj_code
作为回报。如何获得 subj_code
在这种情况下作为回报?
注-
不同的优先级 rollno
不能有相同的值,不管 subj_code
现场。下表是不可能的-
rollno |主题代码|优先级1 | c45 | 0 1 | b68 | 0
多行可以具有相同的 priority
但是 rollno
在这种情况下需要有所不同。
在这种情况下,查询给出了正确的结果-
从priorities(优先级)中选择subg\u code,其中rollno=1和priority=(从priorities中选择min(优先级))
但在这种情况下没有给出结果-
SELECT subj_code FROM priorities WHERE rollno = 2 AND priority = (
select min(priority) from priorities
)
1条答案
按热度按时间wz3gfoph1#