[firebase-br] Dúvida SQL

Ricardo Rodrigues ricardopd em gmail.com
Qui Ago 30 08:20:59 -03 2012


Após alguns testes, a melhor opção foi o select abaixo :

*select distinct  i.cod_produto_referencia, p.descricao, p.cod_grup,
g.descricao grupo, p.cod_fami, f.descricao familia, p.ncm*
*from item i*
*left join produto_referencia p on (i.cod_produto_referencia =
p.cod_produto_referencia) and i.cod_empr = p.cod_empr*
*left join grupo  g on (p.cod_grup = g.cod_grup) and p.cod_empr = g.cod_empr
*
*left join familia f on (p.cod_fami = f.cod_fami) and p.cod_empr =
f.cod_empr*
*where i.cod_empr = 1*
*  and i.status = 'F'*
*  and i.cod_produto_referencia in (*
*                                select p.cod_produto_referencia*
*                                  from produto_referencia p*
*                                 where p.cod_empr = 1*
*                                   and p.ncm not in
('19022000','19021100','19023000','07141000','02022090','02023000','02071400','02013000')
*
*                                   and p.ativo_venda = 1)*

2012/8/29 Murilo Amaral <muriloamaral1 em gmail.com>

> se grupos e familias forem obrigatorios muda de "left join" para "join" que
> acredito que ja va ganhar um desempenho
>
> Em 28 de agosto de 2012 14:40, Ricardo Rodrigues <ricardopd em gmail.com
> >escreveu:
>
> > Boa tarde, gostaria de saber outras maneiras possíveis para o tipo de
> > consulta abaixo em relação a performance, segue a consulta abaixo :
> >
> >
> > select p.cod_produto_referencia, p.descricao, p.cod_grup, g.descricao
> > grupo, p.cod_fami, f.descricao familia
> >   from produto_referencia p
> >   left join grupo g on (p.cod_grup = g.cod_grup) and g.cod_empr = 1
> >   left join familia f on (p.cod_fami = f.cod_fami) and f.cod_empr = 1
> >  where p.cod_empr = 1
> >    and p.ncm not in
> >
> >
> ('19022000','19021100','19023000','07141000','02022090','02023000','02071400','02013000')
> >    and p.cod_produto_referencia in (select cod_produto_referencia from
> item
> > where cod_empr = 1 and tipo in ('D','N'));
> >
> >
> > Informações da consulta : Preciso saber todos os produtos que possuem
> > venda(tabela item) que não sao dos ncm's(tabela produto, varchar(8)) :
> >
> >
> '19022000','19021100','19023000','07141000','02022090','02023000','02071400','02013000'
> > ______________________________________________
> > 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
> >
>
>
>
> --
> Murilo Marcolino Amaral
> Analista de Sistemas
> Cel:(048) 9958-2467
> ______________________________________________
> 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