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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral