locked
Filas de una tabla con información incongruente RRS feed

  • Pregunta

  • Buenos días,

    Estoy teniendo problemas con una tabla dado que ésta muestra información que carece de sentido respecto a lo que quiero conseguir.

    El problema es que tengo un nombre/referencia que tiene que aparecer una única vez en una columna y la tabla está mostrando información contraria. Por ejemplo, los resultados que obtengo son:

    Nombre          Evaluación final

    Juan Pérez      Aprobado

    Juan Pérez      Suspenso

    Este problema no ocurre con todos los nombres de la tabla, solo con algunos.

    Lo que quiero conseguir es que si un nombre sale dos veces en la tabla (aprobado y suspenso), como en el ejemplo de lo que me está sucediendo, la tabla muestre solo el nombre de la persona y que está aprobado. Por lo tanto, la tabla solo tiene que mostrar un único registro por persona, resultando:

    Nombre          Evaluación final

    Juan Pérez      Aprobado

    Cabe decir que soy un usuario que se está iniciando en SQL y que la tabla se obtiene a partir de una plataforma que funciona con SQL (mediante los mismos comandos).

    ¿Alguna solución para resolver este problema?

    Muchísimas gracias por adelantado.

    Un saludo,

    Marc

    jueves, 5 de abril de 2018 9:23

Respuestas

  • Solución pon una clave primaria por nombre .... por que si no eso siempre te podrá aparecer

    Solución tal y como estas

    Select nombre,min(evaluacionfinal) 'Evaluación Final'

    from tutabla

    group by nombre

    la lógica que sigue lo de arriba es, como aprobado está antes que suspenso alfabéticamente, agrupo por nombre y me quedo con elvalor mas pequeño, si hay una incongruencia se queda con "aprobado"


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA


    jueves, 5 de abril de 2018 10:54
    Moderador

Todas las respuestas

  • Solución pon una clave primaria por nombre .... por que si no eso siempre te podrá aparecer

    Solución tal y como estas

    Select nombre,min(evaluacionfinal) 'Evaluación Final'

    from tutabla

    group by nombre

    la lógica que sigue lo de arriba es, como aprobado está antes que suspenso alfabéticamente, agrupo por nombre y me quedo con elvalor mas pequeño, si hay una incongruencia se queda con "aprobado"


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA


    jueves, 5 de abril de 2018 10:54
    Moderador
  • Hola Miguel:

    Solo, por si das clases en algún curso, me puedes matricular a mi.... :)

    Me gusta la lógica de los aprobados....(uy ese tema esta muy de moda en Madrid)

    Saludos

    jueves, 5 de abril de 2018 11:03
  • :) solo respondía a la pregunta de Marc, Cuando doy clase, que es algunas veces, no suelo poner el aprobado tan fácil :D 

    Un abrazo


    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    jueves, 5 de abril de 2018 13:36
    Moderador