[firebase-br] Como pegar o resultado de um Count(*)

Fernando Machado fm-sistemas em fm-sistemas.com
Sex Jul 29 09:11:34 -03 2005


Cara

já tentei de tudo e se eu não colocar todos os campos antes do "Count(*)" 
ele
fica me dando erro tipo "campo filmes_IdFilmes não encontrado" e assim 
sucessivamente até eu colocar todos os campos, já no group by enquanto eu 
não coloco todos os campos ele me retorna  uma  menssagem de erro, depois 
que eu coloquei todos funciona. Mas não traz o resultado esperado.
Eu to usando Delphi 5 + FB 1.5 + MDO

obrigado mais uma vez

Fernando


----- Original Message ----- 
From: "Augusto" <augusto em cmsolucoes.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, July 28, 2005 5:58 PM
Subject: Re: [firebase-br] Como pegar o resultado de um Count(*)


Cara, essa sua QUERY,

SELECT
  CLIENTES_CODIGO, FILMES_IDFILMES, DATA_LOCA, DATA_DEVOL, TITULO, 
VALOR_LOCA,
  COUNT(*)
FROM
  LOCACOES
WHERE
  (DATA_LOCA BETWEEN :DATA01 AND :DATA02)
GROUP BY
  CLIENTES_CODIGO, FILMES_IDFILMES, DATA_LOCA, DATA_DEVOL,
   TITULO, VALOR_LOCA


nunca vai retornar

CLIENTES_CODIGO, TOTAL;

10530 = 3
09560 = 2 etc...

pois vc tem mais campos no GROUP BY do que  CLIENTES_CODIGO, COUNT(*). para
retornar somente esses campos vc vai ter que tirar os campos,
FILMES_IDFILMES, DATA_LOCA, DATA_DEVOL, TITULO, VALOR_LOCA, tanto do
SELECT quanto do GROUP BY.

vai ficar


SELECT
  CLIENTES_CODIGO, COUNT(*) AS TOTALFILMES
FROM
  LOCACOES
WHERE
  (DATA_LOCA BETWEEN :DATA01 AND :DATA02)
GROUP BY
  CLIENTES_CODIGO

para exibir no sistema, se refira ao campo TOTALFILMES


espero ter ajudado,

Augusto





----- Original Message ----- 
From: "Fernando Machado" <fm-sistemas em fm-sistemas.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, July 28, 2005 5:41 PM
Subject: Re: [firebase-br] Como pegar o resultado de um Count(*)


>> Cara, temos que analizar a query toda...
>>
>>
>> se vc puder mandar ela ajudaria....
>>
>> Augusto
>
> Aqui vai:
>
>      form1.locacoes.Close;
>      form1.locacoes.SQL.Clear;
>      form1.locacoes.SQL.Add('select clientes_codigo, '+
>          'filmes_Idfilmes, '+
>          'data_loca, '+
>          'data_devol, '+
>          'titulo, '+
>          'valor_loca, '+
>          'count(*) from locacoes '+
>          'where (data_loca between :data01 and :data02) group by
> clientes_codigo, '+
>          'filmes_Idfilmes, '+
>          'data_loca, '+
>          'data_devol, '+
>          'titulo, '+
>          'valor_loca');
>        form1.locacoes.params[0].AsDate:=data01;
>        form1.locacoes.params[1].AsDate:=data02;
>        form1.locacoes.Open;
>     form1.locacoes.FetchAll;
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista