Pessoal, Estou executando esse select:
SELECT ped_data , SUM(CASE WHEN ped_coddepto = 3 THEN 1 ELSE 0 END) AS fiscal , SUM(CASE WHEN ped_coddepto = 5 THEN 1 ELSE 0 END) AS dsi , SUM(CASE WHEN ped_coddepto = 7 THEN 1 ELSE 0 END) AS agendamento , SUM(CASE WHEN ped_coddepto = 4 THEN 1 ELSE 0 END) AS logistica , SUM(CASE WHEN ped_coddepto = 6 THEN 1 ELSE 0 END) AS transportadora , COUNT(*) AS total FROM pedido WHERE (ped_data < '2008-10-24') GROUP BY ped_data ORDER BY 1; E obtenho esse resultado: ped_data | fiscal | dsi | agendamento | logistica | transportadora | total -----------------+--------+-----+---------------------+------------+----------------------+------- 2008-10-20 | 1 | 0 | 1 | 0 | 0 | 2 2008-10-21 | 1 | 0 | 0 | 0 | 0 | 1 2008-10-22 | 2 | 0 | 2 | 0 | 0 | 4 2008-10-23 | 0 | 1 | 0 | 0 | 0 | 1 (4 registros) Onde cada coluna (com exceção de ped_data e total) representa um departamento, ou seja, o resultado me mostra o total por data e departamento. O problema é que isso está totalmente manual, se for criado um novo departamento terei que alterar a select para contemplar o novo departamento, existe a possibilidade de deixar algo mais natural, sem necessidade de alterar o select a cada novo departamento criado? []s Danilo
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral