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

Augusto augusto em cmsolucoes.com.br
Sex Jul 29 09:33:19 -03 2005


Fernando, verifique se o DBGrid, ou a Query esta com campos estaticos (no 
FiedsEditor)
se estiver vc deve excluir estes campos (é só dar um duploclique na query). 
Com isso
o erro em outros campos que não estão na  query irá sumir...

Lembrando tbm que nenhum outro componente DATAWARE deve ler campos dessa 
query,
somente DbGrid.

e Depois coloque a query como te informei no email anterior Iabaixo)

Augusto

----- Original Message ----- 
From: "Fernando Machado" <fm-sistemas em fm-sistemas.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, July 29, 2005 9:11 AM
Subject: Re: [firebase-br] Como pegar o resultado de um Count(*)


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


______________________________________________
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