Veja se não seria assim:
SELECT 
  count(fi.CO_FICHAPREVENTIVA) as ficha 
FROM 
  (((ifichapreventiva fi inner join fichapreventiva f 
  on f.CO_FICHAPREVENTIVA=fi.CO_FICHAPREVENTIVA ) inner join 
  periodo p on fi.CO_PERIODO = p.CO_PERIODO) inner join 
  categoria c  on f.CO_CATEGORIA=c.CO_CATEGORIA) 
WHERE 
  fi.CO_PERIODO = 3 AND 
  f.CO_CATEGORIA = 12

Espero ter ajudado.

--- Em delphi-br@yahoogrupos.com.br, "rzzanatta" <[EMAIL PROTECTED]> escreveu
>
> tenho essa select:
> 
>  with  dtmmovimento.qryGeracalendmensal do
>   begin
>      SQL.Clear;
>      SQL.Add('SELECT count(fi.CO_FICHAPREVENTIVA) ficha');
>      SQL.Add(' FROM ifichapreventiva fi,fichapreventiva f, periodo p, 
> categoria c');
>      SQL.Add(' WHERE f.CO_FICHAPREVENTIVA=fi.CO_FICHAPREVENTIVA AND  
> fi.CO_PERIODO = 3 AND f.CO_CATEGORIA = 12');
>      SQL.Add(' AND fi.CO_PERIODO=p.CO_PERIODO AND 
> f.CO_CATEGORIA=c.CO_CATEGORIA');
>      Open;
>      a:= parambyname('ficha').AsInteger;
>   end;
> 
> Só que ao executar a query ele me retorna esse erro: Parameter "ficha" 
> not found. O que estou fazendo de errado?
>


Responder a