[firebase-br] Itens não vendidos

Felix - Sol felix.sol em terra.com.br
Sáb Jul 24 18:30:57 -03 2010


Já passou coisa parecida por aqui, dei uma pesquisada mas não cheguei a uma
conclusão:

Tabela Produto : CodigoPro, Descricao
Tabela Vendas  : CodigoPro, Quantidade, Data

Preciso dos Produtos NÃO vendidos:

Select CodigoPro, Descricao, Quantidade as Estoque from Produto P where 
  not exists (select first 1 null from Vendas V where V.Data between
'01/01/2010' and '01/07/2010' and V.CodigoPro = P.CodigoPro )

Funciona, mas demora 5 minutos. Não tem índice na tabela Vendas para Data /
CodigoPro.

Pelo que entendi, o comando acima gera 1 consulta para cada produto.

Por outro lado:

select Codigopro from Vendas V where V.Data between '01/01/2010' and
'01/07/2010' group by codigopro

Executa em 1 segundo.

Bastaria então retornar quem existe na tabela Produto que não consta na 2a
query. Tem como fazer direto em SQL ou não?


Fco. Felix
Desenvolvimento de Sistemas
www.soltecnologia.com.br





Mais detalhes sobre a lista de discussão lista