[firebase-br] SQL novamente!!!

Eduardo Jedliczka jedyfb em gmail.com
Sex Maio 8 15:51:59 -03 2009


Desta forma não...

mas dá para fazer algo mais ou menos assim:

select id_vendedor,nome,sum(liquido) total_vendido,sum(valor_comissao) 
total_comissao
from 
 (select
 id_nf,
 id_produto,
 valor_liq,
 ipi_valor,
 valor_liq-ipi_valor liquido,
 id_vendedor,
 d.comissao,
 case
  when d.comissao='A' then c.comissaoA
  when d.comissao='B' then c.comissaoB
  when d.comissao='C' then c.comissaoC
  when d.comissao='D' then c.comissaoD
  when d.comissao='E' then c.comissaoE
  when d.comissao='F' then c.comissaoF
  else 0
 end perc_comissao,
 0.00 valor_comissao

from nfprodutos a
left join nfmestre b on b.id = a.id_nf
left join vendedores c on c.id = b.id_vendedor
left join produtosprincipal d on d.id = a.id_produto
where b.geracao_data between '[dataini]' and '[datafim]'
) a
left join vendedores b on b.id = a.id_vendedor
group by id_vendedor
order by nome

Abraço

Eduardo 

Em Sex, 2009-05-08 às 15:44 -0300, luis em bmsoft.com.br escreveu:
> Pessoal,
> 
> No DBisam tinha uma query para fazer um relatrio assim:
> 
> ******** INICIO *********
> select
>  id_nf,
>  id_produto,
>  valor_liq,
>  ipi_valor,
>  valor_liq-ipi_valor liquido,
>  id_vendedor,
>  d.comissao,
> 
>  case
>   when d.comissao='A' then c.comissaoA
>   when d.comissao='B' then c.comissaoB
>   when d.comissao='C' then c.comissaoC
>   when d.comissao='D' then c.comissaoD
>   when d.comissao='E' then c.comissaoE
>   when d.comissao='F' then c.comissaoF
>   else 0
>  end perc_comissao,
>  0.00 valor_comissao
> 
> into "memory\t1"
> from nfprodutos a
> left join nfmestre b on b.id = a.id_nf
> left join vendedores c on c.id = b.id_vendedor
> left join produtosprincipal d on d.id = a.id_produto
> where b.geracao_data between '[dataini]' and '[datafim]'
> ;
> update "memory\t1" set valor_comissao = liquido * (perc_comissao/100)
> ;
> 
> select id_vendedor,nome,sum(liquido) total_vendido,sum(valor_comissao) 
> total_comissao
> from "memory\t1" a
> left join vendedores b on b.id = a.id_vendedor
> group by id_vendedor
> order by nome
> *********  FIM  ***********
> 
> ISSO D PRA FAZER NO FIREBIRD??
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista