Em 21 de maio de 2014 16:44, veronica almeida <[email protected]
> escreveu:

>
>
>
> Em 21 de maio de 2014 16:23, Pedro B. Alves <[email protected]>escreveu:
>
>
>>
>>
>> Em 21 de maio de 2014 11:11, veronica almeida <
>> [email protected]> escreveu:
>>
>> Oi, Pedro!
>>>
>>> Se tiver uma tabela com datas, uma dimensão de tempo (com data, ano,
>>> mes), por exemplo, pode fazer algo assim:
>>>
>>> SELECT dim_tempo.mes, dim_tempo.ano, COUNT(pedidos.id)
>>>   FROM dim_tempo
>>>   LEFT JOIN pedidos ON dim_tempo.data = pedidos.datapedido
>>> GROUP BY dim_tempo.mes, dim_tempo.ano
>>>
>>>
>>>
>> O problema não é a relação e sim os meses que não tem pedido.
>>
>> Por exemplo:
>>
>> quero os pedidos de Janeiro a Maio.
>>
>> Os meses que não tiverem pedidos, não vai trazer na relação, por isso
>> preciso algo que cria esses meses.
>>
>
> A tabela dim_tempo irá conter esses meses, seria uma tabela completa (de
> tal ano até tal ano dependendo da necessidade), sem "buracos" nas datas.
> Geralmente é utilizada em DW como a dimensão de tempo.
>
> O que o Matheus mandou irá retornar linhas "duplicadas" e não entendi de
> onde vem o "dt"
>
> Mais ou menos isso, quando digo linhas "duplicadas":
>
> SELECT 05 as mes, 2014 as ano, 10 as qtd
> UNION ALL
> SELECT 05, 2014, 0
>
> 5;2014;10
> 5;2014;0
>
> Como o Renato mandou elimina a "duplicidade":
>
> SELECT mes, ano, SUM (qtd) as qtd FROM (
> SELECT 05 as mes, 2014 as ano, 10 as qtd
> UNION ALL
> SELECT 05, 2014, 0) as pedidos
> GROUP BY mes, ano
>
> 5;2014;10
>
> Não conhecia o generate_series... Valeu Matheus pela dica!! (-:
>

Perdão... na função do Matheus já faz a soma!! Sorry!
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a