
05/12/2008, 06:58
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 11 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 |