[firebase-br] Fwd: Select com NOT IN
Magnun Oliveira
magnunoliveira em gmail.com
Seg Jul 20 00:21:21 -03 2009
Muito Obrigado pela resposta Cantu.
quando executo o sql que vc passou, ocorre o seguinte erro:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -206
Column unknown
CIDADES.DB_KEY
At line 3, column 16
Acho q é algo relacionado com o "DB_KEY" da tabela CIDADES.
Substituí o "select c.id_cidade, c.cidade" por "select *" apenas para fazer
funcionar e o resultado foi:
* se o codigo da cidade indicada no :"cidade" NAO EXISTIR nenhuma entrega
relacionada a essa origem, o SQL retorna apenas uma linha, com esta cidade
em questao.
** se o codigo da cidade indicada no ":cidade" EXISTIR alguma entrega
relacionada a essa origem, independente da quantidade, o resultado do SQL é
vazio.
estrutura da tabela cidades:
(pk) id_cidade
cidade
estrutura da tabela entregas:
(pk) id_entrega,
(fk) id_cidade_origem,
(fk) id_cidade ( esse campo significa o destino, originalmente era
Id_cidade_destino mas mudei o seu nome para testes no sql).
data ... hora .... etc ...
supondo que eu tenha as cidades 1,2,3,4 e 5 e fiz Duas entregas partindo da
cidade 2, com destino p/ as cidades 1 e 3 respectivamente.
gostaria de selecionar as cidades que nao receberam entregas da cidade 2.
o resultado teria que ser: 2, 3 e 5.
obrigado.
ps: desculpe pelo texto longo.
2009/7/19 Carlos H. Cantu <listas em warmboot.com.br>
> Tente:
>
> select c.id_cidade, c.cidade
> from cidades c
> where (c.id_cidade = :cidade) and
> not exists (select * from entregas e where e.id_cidade_origem =
> c.id_cidade)
>
>
Mais detalhes sobre a lista de discussão lista