![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Saludos amigos, no soy tan bueno en SQL, tengo una tabla con la siguiente estructura:
Esa tabla almacena los puntajes de los examenes que dan los alumnos del Centro Pre Universitario, normalmente para ingresar los alumnos rinden 4 examenes. tomemos como ejemplo los siguientes registros:
Aqui dice por ejemplo que el alumno identificado con documento nacional de identidad (cedula o dni): 77393424, obtuve una calificacion de 36.4348 en el examen nro 1 (la segunda columna especifica el numero del examen, 1,2,3 o 4). Ahora bien, yo necesito un sql que arroje lo siguiente: NRO DNI EXAMEN1 EXAMEN2 EXAMEN3 EXAMEN4 PROMEDIO Agradezco infinitamente la ayuda que puedan brindarme. Muchas Gracias |
#2
|
||||
|
||||
hola,
puedes hacer varias cosas, pero siempre deberás agrupar po dni si quieres mostrarlo en una sola fila. Supongo que usas mysql por la definición de la tabla, y no sé si soportará esto. Opción A: sacar todo de la tabla Opción B: hacer uniones con la tabla y consigo misma para extraer la información. Para que veas cómo puedes hacerlo, y steniendo en cuenta que tu motor de sql puede variar algunas clausulas.
Podrías utilizar esta consulta para unirla con las demás tablas ( datos de usuario, nombre examen...) El gran inconveniente es que si añades examenes, tendrías que cambiar la consulta. Prueba y nos dices. Espero que te haya ayudado. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#3
|
||||
|
||||
O usar un procedimiento almacenado en la base de datos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
También...
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#5
|
|||
|
|||
![]() Después de mucho padecer, llegue a un sql como el siguiente:
Quizas no sea la consulta mas inteligente que haya hecho, pero al menos funciona, si hubieran sugerencias para mejorarla, seria muy interesante. Saludos |
#6
|
||||
|
||||
Pero eso sólo saca los datos de una persona, no?
Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#7
|
|||
|
|||
Cita:
En principio si se garantiza que ya están insertadas las cuatro notas, en vez de realizar la agrupación de las tablas con LEFT JOIN se puede realizar con INNER JOIN y la consulta se ejecutara mas rápido en el servidor, pero si no es posible garantizar este punto, entonces se utilizara el LEFT JOIN o de lo contrario no devolverá los resultados que les falte alguna de las notas saludos |
#8
|
|||
|
|||
![]() Gracias bucanero, la solucion que propones esta mejor que la mia, la tomare.
fjcg02 esa consulta sera parte de un programa en php donde cambiare el parametro duro dni por una variable, de forma que pueda recorrer toda una tabla de postulantes. Gracias a todos por la atencion prestada. ![]() |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con Stored Procedure para actualizar tabla con datos de otra tabla. | Adrian Murua | MySQL | 4 | 04-02-2012 02:54:49 |
Problema Con Una Tabla | CHALS | Varios | 8 | 30-01-2008 19:17:30 |
Problema con tabla | silviodp | Conexión con bases de datos | 12 | 24-09-2005 20:12:49 |
problema con una tabla | zyndy | Varios | 1 | 05-01-2005 01:04:34 |
Problema con tabla .dbf | JODELSA | Conexión con bases de datos | 3 | 11-07-2003 20:37:27 |
![]() |
|