我有两个表,STUDENTS和LOG。选择任意值为max
LOG表中每个学生可能有0个或更多记录。 LOG表中的记录按列SUBTYPE分类。 SUBTYPE的值为:'H','L1','L2','L3','M','P1','P2'和'Px'。
我想制作一份报告,列出每个学生的姓名一次,以及最严重的的LOG表中的代码。
我自然会想到MAX(子类型),但这不起作用,因为我没有试图选择子类型的实际最大字母数字值 - 我试图根据预定义的“SEVERITY ”。严重性BTW不存储在数据库中,所以我需要在查询内部以某种方式定义它。
比如...
STUDENTS TABLE
ID LAST_NAME FIRST_NAME
------------------------------------
2 Smith John
3 Jones Bob
4 Bower Jack
LOG TABLE
ID STUDENTSID SUBTYPE
------------------------------------
1 2 P1
2 2 M
3 2 L1
4 3 L2
5 3 P2
6 3 H
亚型值实际上应该排名/排序为:
(From Least Severe)
1. P1
2. L1
3. M
4. L2
5. P2
6. H
7. L3
8. Px
(To Most Severe)
下面是什么,我需要我的报告的样子。请注意,Jack Bower不在报告中,因为他在日志表中没有任何记录。
DESIRED REPORT OUTPUT:
John Smith --- M
Bob Jones ---- H
任何人都可以指向正确的方向吗?
@mathguy ..排序返回所有排序的记录。这将返回1行每个学生这是什么操作需要。 fyi ..我不是发布重复答案的粉丝,我只发布这个,因为其他答案没有回答这个问题。 –
好的,我自己也得出了这个结论。 – mathguy