Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/12/2008, 06:58
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Seleccionar los tres ultimos meses de cada registro repetido en UNA tabla

No estoy seguro, no tengo mysql a mano para intentarlo pero podria ser algo así:

Código:
SELECT Sub.TRAB,Sub.MES,Sub.ANO
  FROM (SELECT DISTINCT Principal.TRAB, 
              (SELECT   Full1.MES
               FROM Full1
               where full1.trab=principal.trab
               ORDER BY Full1.TRAB, 
                                Full1.MES DESC , 
                                Full1.ANO DESC LIMIT 0,1) AS Mes,
              (SELECT  Full1.ANO
               FROM Full1
               where full1.trab=principal.trab
               ORDER BY Full1.TRAB, 
                                Full1.MES DESC , 
                                Full1.ANO DESC LIMIT 0,1) AS Anno
               FROM Full1 AS Principal
UNION ALL
(SELECT DISTINCT Principal.TRAB, 
              (SELECT   Full1.MES
               FROM Full1
               where full1.trab=principal.trab
               ORDER BY Full1.TRAB, 
                                Full1.MES DESC , 
                                Full1.ANO DESC LIMIT 1,1) AS Mes,
              (SELECT  Full1.ANO
               FROM Full1
               where full1.trab=principal.trab
               ORDER BY Full1.TRAB, 
                                Full1.MES DESC , 
                                Full1.ANO DESC LIMIT 1,1) AS Anno
               FROM Full1 AS Principal
UNION ALL
(SELECT DISTINCT Principal.TRAB, 
              (SELECT   Full1.MES
               FROM Full1
               where full1.trab=principal.trab
               ORDER BY Full1.TRAB, 
                                Full1.MES DESC , 
                                Full1.ANO DESC LIMIT 2,1) AS Mes,
              (SELECT  Full1.ANO
               FROM Full1
               where full1.trab=principal.trab
               ORDER BY Full1.TRAB, 
                                Full1.MES DESC , 
                                Full1.ANO DESC LIMIT 2,1) AS Anno
               FROM Full1 AS Principal) as Sub
ORDER BY Sub.TRAB, Sub.MES DESC , Sub.ANO DESC;
Puede haber algun lio de alias...???

Cmabia Full1 por el nombre de tu tabla, por supuesto.


Quim

Última edición por quimfv; 05/12/2008 a las 07:35