Search Postgresql Archives

Re: Data format and display

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I have a table that contains this raw data:
>
>   epr_procode | epr_tipo | epr_mes | epr_valor |      zert_title
> -------------+----------+---------+-----------+--------------------
>-- 00C188      | VTA      | 200309  | 2116.0000 | Venta
>   00C188      | CTO      | 200309  | 1600.0700 | Costo
>   00C188      | VTA      | 200311  | 3450.0000 | Venta
>   00C188      | CTO      | 200311  | 2687.4200 | Costo
>
> I need to display it this way:
>
> TITULO	     |200309    |200310   |200311     |200312
> -------------+----------+---------+-----------+--------------------
>-- Venta	     |2116.0000 |0.0000   |3450.0000  |0.0000
> Costo	     |1600.0700 |0.0000   |2687.4200  |0.0000
>
>
> Notice I must display the missing 200310 and 200312 empty data
> since users retrieves the info in four months based data set, of
> course that data does not exist since there were no trans in those
> months. Any idea or suggestion to get it done in Postgresql.

Here's one way:

select
  zert_title as TITULO, 
  sum(case when epr_mes=200309 then epr_valor else 0 end) as "200309",
  sum(case when epr_mes=200310 then epr_valor else 0 end) as "200310",
  sum(case when epr_mes=200311 then epr_valor else 0 end) as "200311",
  sum(case when epr_mes=200312 then epr_valor else 0 end) as "200312"
  group by 1;

Cheers,
Steve


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux