[firebase-br] Consulta

Alexandre info em caculaagro.com.br
Qua Nov 30 14:17:15 -03 2005


Boa tarde lista.

Estou precisando desenvolver a seguinte consulta.

Tenho uma tabela de clientes, e uma de faturamento (onde estão armazenadas 
todas as informações de todas as vendas).

Preciso fazer um relatório, onde sairá determinados clientes, com o valor 
da última compra
Ex:

Codigo Nome Endereço ...   Dt.Ultima Compra   Valor Ult. Compra
   001    Joao   Rua tal               11/11/1111                    50,00
   002    Zé      Rua AA              12/12/1212                    10,00

Só que a rotina está muito demorada.

Estou usando a seguinte rotina

select CONT_CLIENTE.COD_CLIENTE
      ,CONT_CLIENTE.NOME
      ,CONT_CLIENTE.END_ENT
      ,CONT_CLIENTE.CID_ENT
      , CONT_CLIENTE.EST_ENT
      , CONT_CLIENTE.CEP_ENT
      , CONT_CLIENTE.BAI_ENT
      , CONT_CLIENTE.COD_VEND
      , CONT_CLIENTE.DTULTCOMP
from CONT_CLIENTE C
where COD_VEND = 3
AND EXISTS
(SELECT FIRST 1 FAT_FATURA_VENDA.COD_CLIENTE
      , FAT_FATURA_VENDA.COD_VENDEDOR
      , FAT_FATURA_VENDA.DT_EMISSAO
      , (FAT_FATURA_VENDA.VR_MERCADORIA+
       FAT_FATURA_VENDA.VR_IPI_FRETE+
       FAT_FATURA_VENDA.VR_IPI1+
       FAT_FATURA_VENDA.VR_IPI2+
       FAT_FATURA_VENDA.VR_IPI3+
       FAT_FATURA_VENDA.VR_IPI4+
       FAT_FATURA_VENDA.VR_IPI5+
       FAT_FATURA_VENDA.VR_IPI6+
       FAT_FATURA_VENDA.VR_IPI7+
       FAT_FATURA_VENDA.VR_IPI8+
       FAT_FATURA_VENDA.VR_IPI9+
       FAT_FATURA_VENDA.VR_IPI10+
       FAT_FATURA_VENDA.VR_IPI11+
       FAT_FATURA_VENDA.VR_IPI12) AS TOTAL
FROM FAT_FATURA_VENDA V
WHERE C.COD_CLIENTE = V.COD_CLIENTE
ORDER BY DT_EMISSAO DESC)
ORDER BY COD_VEND,NOME

Lembrando, que tem que ser a última compra efetuada pelo cliente.

Se alguém puder me ajudar

D7, IBO, Firebird 1.5

Obrigado

Alexandre Gonçalves





Mais detalhes sobre a lista de discussão lista