复杂MSSQL查询

复杂MSSQL查询,sql,sql-server,Sql,Sql Server,我需要帮助解决这个问题 编写一个查询,以下面提到的格式显示学生Id和标准 如果标准为“V”,则显示“第五标准”;如果标准为“IV”,则显示“第四标准”;如果标准为“III”,则显示“第三标准”;如果标准为“II”,则显示“第二标准”;如果标准为“I”,则显示“第一标准”,并根据标准按降序排序 提示:查询应显示查询中提到的确切字符串,如“第五标准”等,并按照问题陈述中给出的方式使用。 示例: S-125第一标准 提示:'S-125'是StudentID列的值。这两个值的某种组合: 1.) 2.您需

我需要帮助解决这个问题

编写一个查询,以下面提到的格式显示学生Id和标准

如果标准为“V”,则显示“第五标准”;如果标准为“IV”,则显示“第四标准”;如果标准为“III”,则显示“第三标准”;如果标准为“II”,则显示“第二标准”;如果标准为“I”,则显示“第一标准”,并根据标准按降序排序

提示:查询应显示查询中提到的确切字符串,如“第五标准”等,并按照问题陈述中给出的方式使用。 示例: S-125第一标准


提示:'S-125'是StudentID列的值。

这两个值的某种组合:

1.)


2.

您需要查看
案例
声明。由于您没有提供任何样本数据,根据我的理解,这里有一个解决方案:

create table student (student_id varchar(255), standard varchar(255));

insert into student values
('S-125','I'),
('S-126','II'),
('S-127','III'),
('S-128','IV'),
('S-129','V');

SELECT student_id
    ,standard
    ,CASE standard
        WHEN 'I'
            THEN 'FIRST STANDARD'
        WHEN 'II'
            THEN 'SECOND STANDARD'
        WHEN 'III'
            THEN 'THIRD STANDARD'
        WHEN 'IV'
            THEN 'FOURTH STANDARD'
        WHEN 'V'
            THEN 'FIFTH STANDARD'
        END AS StdInWords
    ,CASE standard
        WHEN 'I'
            THEN 1
        WHEN 'II'
            THEN 2
        WHEN 'III'
            THEN 3
        WHEN 'IV'
            THEN 4
        WHEN 'V'
            THEN 5
        END AS SortBy_Field
FROM student
ORDER BY SortBy_Field DESC;

为什么将其标记为mysql?@winmutt因为我的考官正在使用mysql执行,我认为可能有一些内置的mysql函数来帮助解决此查询。答案应该是这样的:S-125 FIRST Standard无论如何,谢谢。。我使用您的方法找到了正确的查询。。根据标准描述,从学生订单中选择concat(学生id),“I”时的案例标准,然后是“I”时的“第一标准”,然后是“II”时的“第二标准”,然后是“III”时的“第三标准”,然后是“IV”时的“第四标准”,然后是“V”时的“第五标准”结束)作为标准单词;酷!现在,如果你能帮我一个忙,并把它标记为一个公认的答案,因为这个解决方案帮助你解决了你的问题,那就太好了!