Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/03/2014, 16:07
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Consulta, restar un mes, tomando en cuenta el año

Hola lucas1234:

En primer lugar, NO PONGAS CÓDIGO DE PROGRAMACIÓN DE NINGÚN LENGUAJE EN ESTE FORO, está absolutamente prohibido... enfócate sólo en el código de SQL... o si lo prefieres, postea en el foro del lenguaje de programación que estés utilizando, ojo con eso...

Para resolver tu problema, basta con que incluyas en en WHERE, una condición para que pregunte también por el AÑO ACTUAL, no solo por el mes... de manera semejante a la función MONTH, la función YEAR te sirve para extraes sólo el año de una fecha... Si tu campo MES es de tipo DATE o DATETIME, basta con que hagas lo siguiente:

Código MySQL:
Ver original
  1. FROM tablita
  2.    MONTH(mes) = MONTH(CURDATE()) - 1 AND
  3.    YEAR(mes) = YEAR(CURDATE()) AND
  4.    kwh IS NULL;

No entendí muy bien qué caso tiene utilizar la función MOD en esto... desde mi punto de vista no es necesario, pero bueno, quizás tu tengas una razón para utilizarlo... aunque para este caso, el resultado es exactamente el mismo:

Código MySQL:
Ver original
  1. mysql> SELECT MONTH(CURDATE()) - 1, MOD(MONTH(CURDATE()), 12) - 1;
  2. +----------------------+-------------------------------+
  3. | MONTH(CURDATE()) - 1 | MOD(MONTH(CURDATE()), 12) - 1 |
  4. +----------------------+-------------------------------+
  5. |                    2 |                             2 |
  6. +----------------------+-------------------------------+
  7. 1 row in set (0.00 sec)

Saludos
Leo