[firebase-br] Select com group by
Sandro Souza
escovadordebits em gmail.com
Qua Maio 27 10:20:49 -03 2009
Bom dia/tarde Marcelo.
Grande Marcelo, por gentileza, teste primeiro o seguinte código:
SELECT
COUNT(*),
DESCRICAO
FROM (
SELECT
FS.DESCRICAO
FROM
FOLLOWUP_OCORRENCIA FO,
FOLLOWUP F,
FOLLOWUP_STATUS FS
WHERE
(FO.DATA = CURRENT_DATE)AND
(F.ID_FOLLOWUP = FO.ID_FOLLOWUP)AND
(FS.ID_FOLLOWUP_STATUS = F.ID_FOLLOWUP_STATUS)) X
GROUP BY
DESCRICAO
Caso não retorne a quantidade esperada, pode ser que seja o produto
cartesiano entre essas 3 tabelas, já que a descrição não está na tabela
FOLLOWUP, mas sim em uma terceira tabela (FOLLOWUP_STATUS) que também pode
ter mais de um registro com o mesmo ID_FOLLOWUP.
Por favor, poste o resultado para que possamos lhe ajudar.
Espero ter ajudado mais que atrapalhado. :D
2009/5/26 Marcelo Moreira <marcelomoreira.souza em gmail.com>
> Pessoal,
> Vejam o sql abaixo:
>
>
> select
> count(*),
> FS.DESCRICAO
> from
> FOLLOWUP F
> inner join FOLLOWUP_OCORRENCIA FO on (F.ID_FOLLOWUP = FO.ID_FOLLOWUP)
> inner join FOLLOWUP_STATUS FS on (F.ID_FOLLOWUP_STATUS =
> FS.ID_FOLLOWUP_STATUS)
> where
> FO.DATA = current_date
> group by
> 2
>
> Ele esta retornornando 19 registros quando na verdade o que eu preciso é
> que
> ele retorne apenas os 5 que tiveram ocorrencia no dia. O que acontece é que
> para cada registro na tabela FOLLOWUP eu posso ter mais de um registro
> relacionado na tabela FOLLOWUP_OCORRENCIA e pode ter mais de uma ocorrencia
> no mesmo dia para o registro da tabela FOLLOWUP.
> Como eu poderia resolver este select?
> Existe a possibilidade de encaixar um distinct(ID_FOLLOWUP) ou algo do tipo
> neste select?
>
> Obrigado pela atenção.
>
>
>
> Marcelo
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista