----- Mensaje reenviado ----- 
De: "Alvaro Herrera" <alvhe...@alvh.no-ip.org> 
Para: "Anthony" <asotolo...@uci.cu> 
CC: "Giorgio" <giorgio.pg...@gmail.com>, "PostgreSQL" 
<pgsql-es-ayuda@postgresql.org> 
Enviados: Martes, 5 de Julio 2011 14:00:47 GMT -05:00 Región oriental EE. 
UU./Canadá 
Asunto: Re: [pgsql-es-ayuda] Help con Select 

Excerpts from Anthony's message of mar jul 05 13:50:12 -0400 2011: 

> prueba con esto : (espero que version sea de tipo integer o algún numerico) 
> 
> SELECT 
> public.table1.codigo, 
> max(version), 
> public.table1.modular, 
> public.table1.nombre 
> FROM 
> public.table1 
> 
> group by 
> public.table1.codigo, 
> public.table1.modular, 
> public.table1.nombre 

Esto asume que todas las versiones tienen el mismo nombre y modular, lo 
cual parece un poco tonto porque si todas las columnas son iguales ¿para 
qué variar la versión? 

Creo que lo que necesita es algo de este estilo: 

select t1.codigo, t1.version, t1.modular, t1.nombre 
from table1 t1 join 
(select codigo, max(version) 
from table1 t1 
group by codigo) t2 
where t1.codigo = t2.codigo and t1.version = t2.version 

Imagino que necesita protección adicional contra nulos a menos que las 
columnas version y codigo sean no-nulables. 

-- 
Álvaro Herrera <alvhe...@alvh.no-ip.org> 
- 
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) 
Para cambiar tu suscripci�n: 
http://www.postgresql.org/mailpref/pgsql-es-ayuda 



Podrias hacer esto, asumiendo que ese campo no es numerico claro, si fuera 
numerico seria mucho mas facil, pero como tiene el cero delante asumo que no es 
numerico 

select 
MAX(version::integer), 
public.table1.nombre 
FROM 
public.table1 

group by 
public.table1.nombre 

Responder a