Ver Mensaje Individual
  #9 (permalink)  
Antiguo 26/04/2011, 14:56
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: lista de cumpleaños con ultimo arriba

Hola de nuevo tico74:

Me alegra que hayas encontrado una solución por tu cuenta, no veo nada que pudiera afectar la consulta, parece que es correcta , sólo el detalle que mencionas de poner 2011 y 2012 fijos no te lo recomiendo, pues la consulta sería válida sólo para este año, tal como supones correctamente podrías sustituirla por

Código MySQL:
Ver original
  1. YEAR(now()), YEAR(now())+1)
  2.  
  3. o
  4.  

También tienes que tomar en cuenta que el campo nextBirthday lo estarías regresando como una cadena, no como date, (en mi ejemplo es por eso que al final hago un STR_TO_DATE())

Finalmente en la cláusula ORDER BY no le veo sentido a que coloques MONTH(cumple), DAYOFMONTH(cumple), creo que bastaría con poner simplemente esto:

Código MySQL:
Ver original
  1. Order by nextBirthday

La cláusula ASC también estaría de más, ya que es el valor que toma por defecto.

Como te habrás dado cuenta, MySQL te permite muchas formas de llegar a un mismo resultado, existen muchas funciones sinónimas, como el IF y el CASE-WHEN o para el caso del manejo de fechas


Todas te regresarían "2011", así es que elige la que más te agrade.

Saludos
Leo.