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

Como ordenar fechas con fechas vacias

Estas en el tema de Como ordenar fechas con fechas vacias en el foro de Mysql en Foros del Web. Tengo una tabla llamada examen, compuesta asi: id (autonumerico), nombre (varchar 50), fallo (varchar 50), fecha (date) El tema es que la fecha puede estar ...
  #1 (permalink)  
Antiguo 10/06/2013, 18:13
 
Fecha de Ingreso: octubre-2012
Ubicación: Montevideo, Uruguay
Mensajes: 13
Antigüedad: 12 años, 1 mes
Puntos: 0
Como ordenar fechas con fechas vacias

Tengo una tabla llamada examen, compuesta asi:

id (autonumerico), nombre (varchar 50), fallo (varchar 50), fecha (date)

El tema es que la fecha puede estar vacia (nose si hacerlo como NULL, o como 0000-00-00), y yo quiero ordenar las fechas de la mas vieja a la mas nueva, PERO dejando para el final las filas en que la fecha es NULL, o 0000-00-00. Como puedo hacerlo? Gracias!!
  #2 (permalink)  
Antiguo 10/06/2013, 19:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como ordenar fechas con fechas vacias

UNION.
El problema es que tienes condiciones de ordenamiento incompatibles, por tanto debes realizar consultas separadas para obtenerlas y al mismo tiempo unirlas.
UNION es tu mejor opción a mi entender.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/06/2013, 07:41
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Como ordenar fechas con fechas vacias

Hola jerearaujo:

Puedes hacer un ORDER BY condicional, así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+--------+---------+------------+
  3. | id   | nombre | fallo   | fecha      |
  4. +------+--------+---------+------------+
  5. |    1 | uno    | fallo 1 | 0000-00-00 |
  6. |    2 | dos    | fallo 2 | 2013-06-11 |
  7. |    3 | tres   | fallo 3 | 2013-07-05 |
  8. |    4 | cuatro | fallo 4 | 2013-05-30 |
  9. |    5 | cinco  | fallo 5 | 0000-00-00 |
  10. |    6 | seis   | fallo 6 | 2012-08-05 |
  11. +------+--------+---------+------------+
  12. 6 rows in set (0.00 sec)
  13.  
  14. mysql> SELECT * FROM tabla
  15.     -> ORDER BY IF(fecha != '0000-00-00', 1, 2), fecha;
  16. +------+--------+---------+------------+
  17. | id   | nombre | fallo   | fecha      |
  18. +------+--------+---------+------------+
  19. |    6 | seis   | fallo 6 | 2012-08-05 |
  20. |    4 | cuatro | fallo 4 | 2013-05-30 |
  21. |    2 | dos    | fallo 2 | 2013-06-11 |
  22. |    3 | tres   | fallo 3 | 2013-07-05 |
  23. |    1 | uno    | fallo 1 | 0000-00-00 |
  24. |    5 | cinco  | fallo 5 | 0000-00-00 |
  25. +------+--------+---------+------------+
  26. 6 rows in set (0.00 sec)

Dale un vistazo y nos cuentas si te sirvió.

Saludos
Leo.
  #4 (permalink)  
Antiguo 11/06/2013, 07:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como ordenar fechas con fechas vacias

Buena idea... Me había olvidado de ese detalle.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: tabla, vacias
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 13:09.