Selecionar ultima data de um grupo

25/05/2008

1

Tenho 2 tabelas Clientes, Vendas e Vendedores. Preciso percorrer toda a tabela de clientes e verificar na tabela de vendas qual a data da última compra e última quantidade comprada.
Seria algo com os seguintes campos
Select C.NomeCliente, C.Fantasia, C.Rua, C.Bairro, C.Cidade, C.NumCliente, D.Nomevendedor, V.Data, V.Quantidade from Clientes C, Vendedores D, Vendas V
Where (C.NumCliente = V.NumCliente) and (D.NumeroVendedor = V.NumeroVendedor) and (V.Data = [b:99278ac97c]ULTIMADATADECOMPRA[/b:99278ac97c]) -> esta ultima data de compra é o filtro que desejo.


Responder

Posts

25/05/2008

Picyka

Só nao entendi como vc vai pegar a ultima quantidade comprada sendo que a tabela compras deve estar ligada a um outra tabela ItenCompra

para buscar 10 compras de um cliente poderia ser feito assim sendo que o sql é para o firebird

with QSqlGeral do
begin
Close;
Sql.Clear;
Sql.Add(´select First 10 * from pedido´);
Sql.Add(´left join cliente on codcli=codcliped´);
Sql.Add(´where´);
Sql.Add(´codcliped=´+edCliente.Text);
Open;
so que ai ele pegará as 10 primeiras ai vc usa o desc para ordenar em ordem decrescente ai vc consegue pegar a ultima.


Responder
acho que é isso:
Select
  C.NomeCliente, C.Fantasia, C.Rua, C.Bairro, C.Cidade, C.NumCliente,
  D.Nomevendedor,
  V.Data, V.Quantidade
from
  Clientes C
inner join
  Vendas V on (V.NumCliente = C.NumCliente)
inner join
  Vendedores D on (D.NumeroVendedor = V.NumeroVendedor)
Where
  V.Data = (Select Max(V2.Data)
            from Vendas V2
            where V2.NumCliente = C.NumCliente)



Responder

25/05/2008

Edilcimar

Grato emerson, vou povoar a tabela para testar, depois retorno.


Responder