Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta con ordenamiento específico

Estas en el tema de Consulta con ordenamiento específico en el foro de Bases de Datos General en Foros del Web. Hola, a ver si a alguien se le ocurre cómo solucionar esta situación: Tengo una BD access 2000 con una tabla que guarda materia y ...
  #1 (permalink)  
Antiguo 02/12/2004, 13:14
Avatar de educlon  
Fecha de Ingreso: octubre-2003
Ubicación: Buenos Aires
Mensajes: 35
Antigüedad: 20 años, 6 meses
Puntos: 0
Consulta con ordenamiento específico

Hola, a ver si a alguien se le ocurre cómo solucionar esta situación:

Tengo una BD access 2000 con una tabla que guarda materia y notas rendidas por los alumnos de un instituto. La tabla en cuestion muestra los datos de la siguiente forma:

| COD_CLIENT | ID_MATERIA | NOTA_1 | FECHA |

| 14553 | 1 | 7 | 22/07/2004 |
| 14553 | 2 | _ | 02/08/2004 |
| 14553 | 3 | 6 | 21/09/2004 |
| 14553 | 4 | _ | 10/10/2004 |
| 14553 | 5 | 9 | 12/11/2004 |

COD_CLIENT = EL CÓDIGO DEL ALUMNO
ID_MATERIA = EL ID DE LA MATERIA QUE RINDIÓ
NOTA_1 = LA PRIMER NOTA DE LA MATERIA
FECHA = LA FECHA EN QUE RINDIÓ

El problema es que necesito ordenar las notas por fecha pero sin dejar ninguna sin nota en el medio (las dos materia rendidas que tiene el _ es una materia sin nota).

La consulta debería quedar ordenada de la siguiente forma:

| COD_CLIENT | ID_MATERIA | NOTA_1 | FECHA |

| 14553 | 1 | 7 | 22/07/2004 |
| 14553 | 3 | 6 | 21/09/2004 |
| 14553 | 5 | 9 | 12/11/2004 |
| 14553 | 2 | _ | 02/08/2004 |
| 14553 | 4 | _ | 10/10/2004 |

Vale decir que necesito hacer que ordene primero las materias que poseen nota por fecha, y luego que aparezcan las materias que no poseen nota.

Se puede hacer esto desde una consulta SQL?

Gracias de antemano y saludos a todos...

Última edición por educlon; 02/12/2004 a las 13:42
  #2 (permalink)  
Antiguo 02/12/2004, 19:38
Avatar de axel_mdq  
Fecha de Ingreso: mayo-2004
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 20 años
Puntos: 0
Lo podes dividir en 2. Por ejemplo en SQL:
Código PHP:
select
     
*
from
     tabla
where
     nota 
<> '_'
order by
     fecha
UNION
select
     
*
from
     tabla
where
     nota 
'_'
order by
     fecha 
Podrias probar si funciona.
No creo que access te lo permita, pero podrias usar alguna tabla temporal.
__________________
Saludos,

Alejandro. :adios:
  #3 (permalink)  
Antiguo 02/12/2004, 20:40
Avatar de educlon  
Fecha de Ingreso: octubre-2003
Ubicación: Buenos Aires
Mensajes: 35
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias Alejandro...

Gracias alejandro por tu sugerencia, ya mismo me pongo a probar a ver qué sucede.

Saludos....

Última edición por educlon; 02/12/2004 a las 20:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:47.