Fórum Duvida Select Where Gropy by e Union #59046

31/10/2007

0

O codigo abaixo nao está retornando os totais diarios dos lancamentos e compra e venda na mesma linha. Alguem poderia mostrar aonde esta a falha ? E com base no mesma idéia preciso totalizar por MOEDA. Alguem me ajuda a escrever o código ?

IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(´select DATLANCTO, COUNT(*) as QTECPA, SUM(QTEMOEDA) as TOTCP1, SUM(TAXCAMBIO*QTEMOEDA) as TOTCP2, 0 as QTEVDA, 0.00 as TOTVD1, 0.00 aS TOTVD2 from BOLETOC where DATLANCTO between :pDT1 and :pDT2 group by DATLANCTO´);
IBQuery1.SQL.Add(´ union ´);
IBQuery1.SQL.Add(´select DATLANCTO, 0 as QTECPA, 0.00 as TOTCP1, 0.00 aS TOTCP2, COUNT(*) as QTEVDA, SUM(QTEMOEDA) as TOTVD1, SUM(TAXCAMBIO*QTEMOEDA) as TOTVD2 from BOLETOV where DATLANCTO between :pDT1 and :pDT2 group by DATLANCTO´);
IBQuery1.ParamByName(´pDT1´).Value := DateEdit1.Date;
IBQuery1.ParamByName(´pDT2´).Value := DateEdit2.Date;
IBQuery1.Open;

Desde já agradeço.


Eremita

Eremita

Responder

Posts

03/11/2007

Sql.pedrojr

acrescente um select com os SUM e COUNT sendo o query que voce escreve a tabela que sera lida

-----


IBQuery1.Close;
IBQuery1.SQL.Clear;

[b:64334c4836]acrecentar:[/b:64334c4836]
IBQUEY1.SQL.ADD(´Select DATLANCTO, SUM(QTECPA) AS QTECPA, SUM
(TOTCP1) AS TOTCP1, SUM(TOTCP2) AS TOTCP2, SUM(QTEVDA) AS QTEVDA, SUM(TOTVD1) AS TOTVD1, SUM(TOTVD2) AS TOTVD2 FROM (´)

[b:64334c4836]codigoatual:[/b:64334c4836]
IBQuery1.SQL.Add(´select DATLANCTO, COUNT(*) as QTECPA, SUM(QTEMOEDA) as TOTCP1, SUM(TAXCAMBIO*QTEMOEDA) as TOTCP2, 0 as QTEVDA, 0.00 as TOTVD1, 0.00 aS TOTVD2 from BOLETOC where DATLANCTO between :pDT1 and :pDT2 group by DATLANCTO´);
IBQuery1.SQL.Add(´ union ´);
IBQuery1.SQL.Add(´select DATLANCTO, 0 as QTECPA, 0.00 as TOTCP1, 0.00 aS TOTCP2, COUNT(*) as QTEVDA, SUM(QTEMOEDA) as TOTVD1, SUM(TAXCAMBIO*QTEMOEDA) as TOTVD2 from BOLETOV where DATLANCTO between :pDT1 and :pDT2 group by DATLANCTO´);

[b:64334c4836]acrecentar:[/b:64334c4836]
IBQuery1.SQL.Add(´ ) GROUP BY DATLANCTO ´)


IBQuery1.ParamByName(´pDT1´).Value := DateEdit1.Date;
IBQuery1.ParamByName(´pDT2´).Value := DateEdit2.Date;
IBQuery1.Open;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar