prueba la consulta asi

saludos

select fecha::date,
sum(case when color='rojo' then 1 else 0 end) as rojo,
sum(case when color='azul' then 1 else 0 end) as azul,
sum(total) from (
select color,fecha::date,
count(color) as total from tableta where fecha::date between '2011-01-22
00:00:00' and '2011-01-26 23:59:59' group by color, fecha
) as a group by a.color, a.fecha order by a.fecha

ahi ponle bien los campos por que la acabo de hacer sin tener la tabla ni
los campos creados,
pero asi te debe funcionar



El 10 de febrero de 2011 10:03, Daniel Ferrer
<daniel.fer...@ctd.com.ar>escribió:

>  Estimados:
>                 Me encuentro con un situación en donde necesito realizar
> una consulta SQL O FUNCTION que me arroje el siguiente resultado.
> Siendo las tablas a modo de ejemplo...
> La idea sería poder contar las ocurrencias (detalle) de cada color en cada
> día.
>
> color
> -------
> id_color
> nombre
>
>
> detalle
> -------
> id_detalle
> id_color
> dia
>
>
>       LUNES 01  MARTES 02  MIERCOLES  03  JUEVES 04  VIERNES 05  …  TOTAL
>  ROJO 1 4 0 1 6 … 12  AZUL 2 5 5 2 7 … 21  VERDE 3 5 6 3 7 … 24  AMARILLO
> 4 6 7 4 8 … 29  … ... ... ...  ...  ...  ...    TOTAL 10 20 18 10 28 … 86
>
>
> Actualmente saco los datos y lo trabajo en una planilla de calculo
> realizando una tabla dinámica.
> Perdón por lo pobre y escueto del enunciado al mencionado problema. Pero no
> se me ocurrió una mejor manera.
>
>
> Desde ya les agradezco por vuestro aporte.
>
>
>   Atte.
> ___________________________
> ASC Daniel Ferrer
> Gerente de Sistemas - CTD SRL
> Rosario - Argentina
> mailto:daniel.fer...@ctd.com.ar <daniel.fer...@ctd.com.ar>
> ___________________________
>



-- 
ISC Miguel Angel Hernandez Moreno

Responder a