Ver Mensaje Individual
  #14 (permalink)  
Antiguo 10/08/2011, 11:34
Avatar de gnzsoloyo
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, 3 meses
Puntos: 2658
Respuesta: Ordenar por fechas

Por favor, usa las etiquetas de cada tipo de código. Las encontrarás en el combobox donde dice "Highlight". El código se visualzará mejor.

Por un lado, el ABS es para números y no para fechas. No tiene sentido usarlo en un DATE(). Ese ABS() está afectando en realidad a la función DATEDIFF, y no a la función DATE().

Por otro, las fechas, para que puedan ser convertidas implícitamente, deben estar como cadenas de texto, y eso no lo estás haciendo.
Tu estás poniendo:
Código MySQL:
Ver original
  1. SELECT id,equipo_l,equipo_v,fecha,hora_conf,competicion,jornada,tipo,id_ant,temporada
  2. FROM wp_partidos
  3. WHERE temporada='1' and jornada='2'
  4. ORDER BY ABS(DATEDIFF(DATE(fecha), DATE(2011-08-10 00:00:00))) ASC
y debes poner:

Código MySQL:
Ver original
  1. SELECT id,equipo_l,equipo_v,fecha,hora_conf,competicion,jornada,tipo,id_ant,temporada
  2. FROM wp_partidos
  3. WHERE temporada='1' and jornada='2'
  4. ORDER BY ABS(DATEDIFF(DATE(fecha), DATE('2011-08-10 00:00:00'))) ASC
Por otro lado, si lo vas a poner manualmente, no tiene ninguna utilidad ni sentido que mandes un DATETIME, para eso mandas un DATE:

Código MySQL:
Ver original
  1. SELECT id,equipo_l,equipo_v,fecha,hora_conf,competicion,jornada,tipo,id_ant,temporada
  2. FROM wp_partidos
  3. WHERE temporada='1' and jornada='2'
  4. ORDER BY ABS(DATEDIFF(DATE(fecha), '2011-08-10')) ASC

En otras palabras: No hagas las cosas innecesariamente complicadas. Lo pagarás con performance.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)