[firebase-br] Ajuda em SQL

Prisma Sistemas - Moacir prismars em prismars.com.br
Qua Mar 2 00:18:25 -03 2005


auristonlopes,

1) Numa union todos os campos devem ser iguais nos select´s, veja como:

Select Cast(0 as Numeric(15,2)) as tentradas, 
       Cast(0 as Numeric(15,2)) as tsaidas, 
       Cast(sum(entradas)-sum(saidas) as numeric(15,2)) as Saldo 
       from movprod 
       where data_emi <= '01/01/05' 
union 
Select Cast(sum(entradas) as Numeric(15,2)) as Tentradas, 
       Cast(sum(saidas) as Numeric(15,2)) as Tsaida, 
       Cast(sum(entradas)-sum(saidas) as numeric(15,2)) as Saldo 
       from movprod 
       where data_emi >= '01/01/05' 

2) Procure usar parametros, evitara uma serie de dores de cabeça. Veja como:

with Ibquery1 do
Begin
  Close;
  SQL.Text:='Select Cast(0 as Numeric(15,2)) as tentradas,  ';
  SQL.Add(' Cast(0 as Numeric(15,2)) as tsaidas, ');
  SQL.Add(' Cast(sum(entradas)-sum(saidas) as numeric(15,2)) as Saldo ');
  SQL.Add(' from movprod ');
  SQL.Add(' where data_emi <=:DATA ');
  SQL.Add(' union ');
  SQL.Add(' Select Cast(sum(entradas) as Numeric(15,2)) as Tentradas, ');
  SQL.Add(' Cast(sum(saidas) as Numeric(15,2)) as Tsaida, ');
  SQL.Add(' Cast(sum(entradas)-sum(saidas) as numeric(15,2)) as Saldo ');
  SQL.Add(' from movprod ');
  SQL.Add(' where data_emi >=:DATA ');
  ParamByName('DATA').AsDateTime:=StrToDate('01/01/05');  // ou 
ParamByName('DATA').AsDateTime:=StrToDate(Edit1.Text);
  Open;
end;

[ ]´s
Moacir

auristonlopes escreveu:

>Caros colegas, 
>preciso de montar uma query da seguinte forma: 
>Select sum(entradas)-sum(saidas) from movprod where data_emi <= '01/01/05' 
>union (Select sum(entradas) as Tentradas, sum(saidas) as Tsaida from movprod 
>where data_emi >= '01/01/05') 
>Só que não funcionou, se algum colega puder montar esta query para mim, eu 
>agradeço, é que ainda estou engatinhando no sql. 
>sds 
>Auriston 
>  
>
>------------------------------------------------------------------------
>
>______________________________________________
>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
>
>------------------------------------------------------------------------
>
>No virus found in this incoming message.
>Checked by AVG Anti-Virus.
>Version: 7.0.300 / Virus Database: 266.5.5 - Release Date: 1/3/2005
>  
>


-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.5 - Release Date: 1/3/2005





Mais detalhes sobre a lista de discussão lista