[firebase-br] Fwd: Select com NOT IN

Cleber cleber em agrosoftrs.com.br
Seg Jul 20 11:40:28 -03 2009


ao usar o not exists no select não pode ter registros nulos, então faz 
assim:

select cidades.id_cidade, cidades.cidade from cidades where not exists
(select * from entregas where id_cidade_origem = :cidade and 
id_cidade_origem is not null)

----- Original Message ----- 
From: "Magnun Oliveira" <magnunoliveira em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, July 20, 2009 11:22 AM
Subject: [firebase-br] Fwd: Select com NOT IN


---------- Forwarded message ----------
From: Magnun Oliveira <magnunoliveira em gmail.com>
Date: 2009/7/19
Subject: Fwd: Select com NOT IN
To: lista em firebase.com.br




 Boa tarde .

Tenho uma tabela de cidades e uma de entregas, e nela existe um campo
id_cidade_origem e id_cidade ( para o destino ),  ambos foreign key de
CIDADES.

Gostaria de selecionar todas as cidades da tabela CIDADES que nao receberam
nenhuma entrega, de uma cidade de origem especificada por mim.

Segue o sql:

select cidades.id_cidade, cidades.cidade from cidades where
cidades.id_cidade not in (select * from entregas where id_cidade_origem =
:cidade)

A consulta é efetuada com sucesso, porem demora bastante devido a quantidade
de registros.

Gostaria de ajuda pra otimizar esta consulta.

ps: fiz o seguinte sql:

select cidades.id_cidade, cidades.cidade from cidades where not exists
(select * from entregas where id_cidade_origem = :cidade)

Nao retorna nenhum registro, mesmo ocorrendo mais de 100 cidades que nao
receberam entregas da cidade especificada no ":cidade".

se tirar o not, retornam todas as cidades da tabela CIDADES.

agradeço desde jah.
______________________________________________
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