Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/03/2012, 06:28
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Obtener registros en un rango de datos

Tienes razon!!!

CONCAT_WS('/',YEAR,if(mes<10,'0',''),mes,semana)

esto construirá algo asi 2010/08/1 que puedes comparar com YYYY1/MM1/S1 y con YYYY2/MM2/S2


Código MySQL:
Ver original
  1. SELECT @rownum:=@rownum+1 'num',
  2.              producto,
  3.              YEAR,
  4.              mes,
  5.              semana
  6. FROM precios , (SELECT @rownum:=0) r
  7. WHERE CONCAT_WS('/',YEAR,if(mes<10,'0',''),mes,semana)>='YYYY1/MM1/S1'
  8. AND CONCAT_WS('/',YEAR,if(mes<10,'0',''),mes,semana)<='YYYY2/MM2/S2'
  9. ORDER BY CONCAT_WS('/',YEAR,if(mes<10,'0',''),mes,semana),producto;

Ten en cuenta que el mes (MM1 o MM2) debe llevar el cero a la izquierada si es anterior a octubre....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 28/03/2012 a las 06:34