2008/8/14 Raúl Andrés Duque Murillo <[EMAIL PROTECTED]>: > Cordial saludos compañeros. Tengo el siguiente problema y aunque lo he > solucionado se me hace bastante pesado para la cantidad de registros que > tengo, por lo cual quisiera saber si a alguien se le ocurre una mejor > alternativa o algún artificio útil: > > Tengo una tabla más o menos así: > > id_parte anno mes valor > 1 2005 1 5 > 1 2005 2 10 > 2 2008 5 20 > 2 2008 6 30 > 3 2008 4 40 > > Lo que quiero es obtener el último valor (Anno/Mes) por cada parte. Para el > ejemplo: la salida sería: > > id_parte anno mes valor > 1 2005 2 10 > 2 2008 6 30 > 3 2008 4 40 > > Por ahora lo que hago es algo de este estilo: > > SELECT tabla.id_parte, tabla.anno, tabla.mes, tabla.valor > FROM ( > SELECT tabla.id_parte, MAX(tabla.anno*100 + tabla.mes) > AS AnnoMes > FROM tabla > GROUP BY tabla.id_parte > ) maxtabla INNER JOIN tabla ON tabla.id_parte = > maxtabla.id_parte AND AnnoMes = (tabla.anno*100 + tabla.mes) > > Atentamente, > > RAUL DUQUE > Bogotá, Colombia
Raul: La semana pasada alguien tenia un problema similar, quiza si ves en el historico de la lista te puede dar un indicio... Slds. ---------------------- Slds. jchavez linux User #397972 on http://counter.li.org/ -- TIP 5: ¿Has leído nuestro extenso FAQ? http://www.postgresql.org/docs/faqs.FAQ.html