União em SQL !!

Delphi

12/02/2004

Pessoal alguem poderia me ajudar, Quero Somar todos Debitos,e creditos do cliente e depois unir esses dados. Do jeito que fiz aqui esta dando erro .

Query.sql.add(´Select (D.Cliente)As COD,(C.empresa)As CLIENTE,Sum(D.total)As VALOR,´);
Query.sql.add(´(C.dt_ultimo_mov)As MOV,(C.dt_ultima_pgto)As PGTO From Clientes As C ´);
Query.sql.add(´ INNER JOIN Cliente_requisicao As D ON c.codigo=d.cliente Where D.situacao=´0´´);
Query.sql.add(´ Group By D.Cod,C.Cliente,C.Mov,C.Pgto ´);
Query.Sql.add(´ UNION ALL ´);
Query.Sql.add(´Select (F.cliente)As COD,(A.empresa)As CLIENTE,Sum(F.total * -1)As VALOR,´);
Query.Sql.add(´(A.dt_ultimo_mov)As MOV,(A.dt_ultima_pgto)As PGTO From Clientes As A ´);
Query.Sql.add(´INNER JOIN Creditos AS F ON A.codigo=F.cliente Where F.Data_q=´´´);
Query.sql.add(´ Group By F.Cod,A.Cliente,A.Mov,A.Pgto ´);


Michel

Michel

Curtidas 0

Respostas

Adilsond

Adilsond

12/02/2004

with Query do
  begin
    if Active then
       Close;
    SQL.Add(´Select D.Cliente as COD,´);
    SQL.Add(´       C.Empresa as CLIENTE,´);
    SQL.Add(´       C.Dt_ultimo_mov as MOV,´);
    SQL.Add(´       C.Dt_ultima_pgto as PGTO,´);
    SQL.Add(´       Sum(D.total) as VALOR´);
    SQL.Add(´From Clientes C´);
    SQL.Add(´  INNER JOIN Cliente_requisicao D´);
    SQL.Add(´    ON C.Codigo = D.Cliente´);
    SQL.Add(´Where D.Situacao = 0´);
    SQL.Add(´Group By D.Cliente,´);
    SQL.Add(´         C.Empresa,´);
    SQL.Add(´         C.Dt_ultimo_mov,´);
    SQL.Add(´         C.Dt_ultima_pgto´);
    SQL.Add(´UNION ALL´);
    SQL.Add(´Select F.Cliente,´);
    SQL.Add(´       A.Empresa,´);
    SQL.Add(´       A.Dt_ultimo_mov,´);
    SQL.Add(´       A.Dt_ultima_pgto,´);
    SQL.Add(´       Sum(F.Total * -1)´);
    SQL.Add(´From Clientes A´);
    SQL.Add(´  INNER JOIN Creditos F´);
    SQL.Add(´    ON A.Codigo = F.Cliente´);
    SQL.Add(´Where F.Data_q is null´);
    SQL.Add(´Group By F.Cliente,´);
    SQL.Add(´         A.Empresa,´);
    SQL.Add(´         A.Dt_ultimo_mov,´);
    SQL.Add(´         A.Dt_ultima_pgto´);
    Open;
  end;



GOSTEI 0
POSTAR