--- On Thu, 7/9/09, Aldo Quezada <huin...@gmail.com> wrote:

> From: Aldo Quezada <huin...@gmail.com>
> Subject: [pgsql-es-ayuda] duda con query
> To: pgsql-es-ayuda@postgresql.org
> Date: Thursday, July 9, 2009, 11:32 PM
> Hola lista, tengo una consulta y duda
> con respecto si se puede sacar con una query o tendre que
> hacer camino largo
> 
> tengo 2 tabla 
> [nominados] 
> id
> id_nominado
> estado (0, 1 ,2)
> 
> [usuarios]
> id
> nombre
> 
> 
> se que puedo sacar totales por estado independiente
> osea
> 
> select count(n.id_nominado) nominado,  from nominados n 
> inner join usuarios u on u.id= n.id_nominado
> where estado =0 // aqui depende del estado que necesito
> 
> group by  n.id_nominado
> 
> asi puedo sacar segun el estado o puedo sacar simplemente
> el total de nominaciones sin tomar en cuenta los estados
> 
> ahora mi duda y que me quemo un poco la cabeza es si puedo
> sacar todos los datos en un solo query
> 
> 
> nombre - total_estado0 - total_estado1 - total_estado2 -
> total
> 
> 
> no se si me explico bien 
> 
> Saludos
> 

No se si esto es lo que necesitas pero aqui te envio algo.


select nombre,sum(Total1),sum(Total2),sum(Total3)
from (
select id_nominado,nombre,
CASE WHEN estado=1 THEN 1 ELSE 0 END as Total1,
CASE WHEN estado=2 THEN 1 ELSE 0 END as Total2,
CASE WHEN estado=3 THEN 1 ELSE 0 END as Total3
from nominada, usuario
where nominada.id_nominado=usuario.id
) as a
group by nombre



--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo 
agradecerán

Responder a