none
Consulta que en una columna obtiene un numero y en otra debe mostrar un mensaje de acuerdo al valor. RRS feed

  • Pregunta

  • Tengo la consulta que me muestra el nombre de la materia y las calificaciones que tiene cierto alumno, en la consulta se debe mostrar también otra columna con un mensaje dependiendo del valor que tiene la columna calificación; si calificación es menor a 8 la columna debe decir reprobado, si es = o mayor a 8, debe decir aprobado. Esto para cada fila que devuelva la consulta.

    select m.Nombre_Materia as [Nombre materia],
    (c.calif_1 + c.calif_2 + c.calif_3 + c.calif_4)/4 as [Promedio materia]
    from alumno as a inner join Calificacion as c on a.Id_A = c.Id_A
    where (a.Id_A = @ClaveAlumno)

    Consulta devuelve:

    Nombre materia       Promedio materia

    Matematicas I           7.56

    Fisica I                     8.90

    Ingles II                   10.00

    Biologia                    5.60


    Consulta debe devolver:

    Nombre materia       Promedio materia       Estatus

    Matematicas I           7.56                         Reprobado

    Fisica I                     8.90                         Aprovado

    Ingles II                   10.00                       Aprovado

    Biologia                    5.60                         Reprobado

    Ayuda por favor!!! No tengo idea como se pueda hacer eso




    • Editado Leo Est viernes, 6 de julio de 2018 18:44
    viernes, 6 de julio de 2018 18:43

Respuestas

  • Hola Leo

    Sobre la misma consulta añades una columna mas que dice

    As promedio, case when ....(aqui repites lo mismo que en la columna promedio) > 8.0 then 'aprobado' else 'suspenso' end as nota ....

    Case evalua una expresion y devuelve un resultado del tipo que tu quieras. En este caso literales

    Un saludo

    • Marcado como respuesta Leo Est viernes, 6 de julio de 2018 19:58
    viernes, 6 de julio de 2018 19:14

Todas las respuestas