[firebase-br] Melhorar consulta com SQL aninhado - Firebird 1.5

Felipe Aron felipearon em gmail.com
Qui Ago 22 16:27:09 -03 2013


PessoALL, estou utilizando o Firebird 1.5.

Preciso de uma consulta que me retorne vendedoras (locais), agrupadas por
representante, que não tiveram pedido feito numa determinada filial.

A grosso modo fiz o resultado das vendedoras com SQL aninhado mas esse tipo
de SQL fica muito lento:

*select distinct*
*       vend.codigo,*
*       vend.nome,*
*
*
*from vendedores vend*
*
*
*where vend.representante = 179*
*  and vend.status in ('Ativa', 'Inativa')*
*  and vend.codigo NOT IN (*
*
*
*        select distinct(ped.vendedor)*
*          from pedidosven ped*
*               join vendedores vend on ped.vendedor = vend.codigo*
*         where ped.origem = 12 /* FILIAL */*
*           and vend.status in ('Ativa', 'Inativa')*
*  )*
*
*
*order by vend.nome*

Fiz uma SQL que retorna um "array" das vendedoras que já tiveram pedidos na
filial e uso esse array para filtrar as vendedoras que não constam aqui.

Achei além de demorado, deselegante, gostaria da opinião de vocês pra
melhorar essa rotina, preciso expandir meus conhecimentos.

-- 
Analista-Programador
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.net)



Mais detalhes sobre a lista de discussão lista