[firebase-br] Select de Vendas por Produto de 1 Periodo e por Vendedor

Gilmar Barbosa gilmarbgomes em gmail.com
Sex Nov 5 13:14:53 -03 2010


Boa Tarde,

Estou tentando montar um Select que me faça a separação das vendas da
seguinte forma:

1. De um determinado Vendedor
2. De um determinado Período (Tipo 01/10/2010 a 31/10/2010).
3. De um determinado nome de Produto.
4. Mostrando a Quantidade Total e o Valor Total por Produto (agrupamento
pelo código do Produto).

Montei a seguinte instrução Select no Delphi com Firebird 2.5, mas não estou
conseguindo mostrar o resultado desejado, pois exibe em cada linha todos os
produtos e não por Agrupamento :

QryVendas.Close;
QryVendas.SQL.Clear;

 // Selecionando os campos que serao usados na consulta
QryVendas.SQL.Add('Select DOCTO, VEND, DATA, COD_MERC, DESCPRO, SUM(QTDE) AS
QTDE, SUM(PR_TOTAL) AS PR_TOTAL FROM SAIDAS');

 // Selecionando o Vendedor
QryVendas.SQL.Add('Where VEND like '+QuotedStr(edtvendedor.Text));

// Selecionando somente a serie CI
QryVendas.SQL.Add('and DOCTO LIKE '+ #39 + '%CI' + #39);

// Selecionando a data inicial e final
QryVendas.SQL.Add('and DATA >= :DTINI and DATA <= :DTFIM');

// Selecionando a descricao do produto
QryVendas.SQL.Add('and DESCPRO LIKE '+ #39 + EDTPRODUTO.TEXT + #39);

// Agrupa por Codigo do Produto
QryVendas.SQL.Add('Group By DOCTO, VEND, DATA, COD_MERC, DESCPRO');

// Ordenando por Data
QryVendas.SQL.Add('Order By COD_MERC');

// passando os parametros das datas inicial e final
QryVendas.ParamByName('DTINI').asdate:= DTINICIAL.DATE;
QryVendas.ParamByName('DTFIM').asdate:= DTFINAL.DATE;

// abrindo a query para ser exibida no dbgrid.
QryVendas.Open;

Se alguém puder em dar uma ajuda, agradeço.

Gilmar
Nucleus Tecnologia da Informação



Mais detalhes sobre a lista de discussão lista