From: | Lennin Caro <lennin(dot)caro(at)yahoo(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org, Aldo Quezada <huincha(at)gmail(dot)com> |
Subject: | Re: duda con query |
Date: | 2009-07-10 14:25:20 |
Message-ID: | 526345.42208.qm@web59511.mail.ac4.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- On Thu, 7/9/09, Aldo Quezada <huincha(at)gmail(dot)com> wrote:
> From: Aldo Quezada <huincha(at)gmail(dot)com>
> Subject: [pgsql-es-ayuda] duda con query
> To: pgsql-es-ayuda(at)postgresql(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Aldo Quezada | 2009-07-10 14:37:04 | Re: duda con query |
Previous Message | Leonardo Castillo | 2009-07-10 13:46:49 | Re: Reemplazar texto en campo BYTEA |