Principales respuestas
Filas de una tabla con información incongruente

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- Editado Miguel Egea GómezMVP, Moderator jueves, 5 de abril de 2018 10:55
- Propuesto como respuesta Tonatiuh AbregoModerator jueves, 5 de abril de 2018 15:18
- Marcado como respuesta Tonatiuh AbregoModerator martes, 10 de abril de 2018 18:13
jueves, 5 de abril de 2018 10:54Moderador
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- Editado Miguel Egea GómezMVP, Moderator jueves, 5 de abril de 2018 10:55
- Propuesto como respuesta Tonatiuh AbregoModerator jueves, 5 de abril de 2018 15:18
- Marcado como respuesta Tonatiuh AbregoModerator martes, 10 de abril de 2018 18:13
jueves, 5 de abril de 2018 10:54Moderador -
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 DBAjueves, 5 de abril de 2018 13:36Moderador