[firebase-br] Consulta

Alexandre Villaça alexandre.villaca em gmail.com
Qui Dez 8 13:24:07 -03 2005


Experimenta algo assim:

select
  c.cod_cliente,
  c.nome,
  v.dt_emissao,
  vr_mercadoria + vr_ipi_frete + vr_ipi1 + vr_ipi2 + vr_ipi3 + vr_ipi4 +
vr_ipi5 +
  vr_ipi6 + vr_ipi7 + vr_ipi8 + vr_ipi9 + vr_ipi10 + vr_ipi11 + vr_ipi12 as
total
from
  fat_fatura_venda v left join
  cont_cliente c on (v.cod_cliente = c.cod_cliente)
where
  v.id_fat_fatura_venda =
    (select first 1 d.id_fat_fatura_venda from fat_fatura_venda d where
d.cod_cliente = v.cod_cliente order by d.dt_emissao desc)



Em 30/11/05, Alexandre <info em caculaagro.com.br> escreveu:
>
> 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
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista