Selecionando registros não existentes pela where...

Delphi

18/10/2005

Colegas,

Tenho 2 tabelas. Uma pai a outra filha.

Tabela Principal = Clientes
Chave Primária = CODIGO


Tabela Secundária = Eventos
Chave Secundária = CODCLIENTES


Estou tentando fazer um select para que não traga o nome o nome do cliente que contém o termo especificado na Tabela Eventos.
Explicando melhor:

SELECT CLIENTES.CODIGO, CLIENTES.NOME
FROM CLIENTES INNER JOIN EVENTOS ON
CLIENTES.CODIGO = EVENTOS.CODCLIENTES
WHERE EVENTOS.TIPO <>2

O propósito é o seguinte: Se caso houver o evento do tipo 2 na tabela Eventos, ele não pode trazer nenhum registro para o resultado da select. Mas ao que se vê na select que eu fiz, ele retornará caso encontre outro tipo de eventos, como por exemplo o 3, 4... mesmo se na sequência de registro referenciado pela chave primária da tabela clientes contiver o tipo de evento especificado.
Ele só pode trazer o nome como resultado do select se na tabela Eventos não tiver o Tipo do Evento Especificado.


Thiagopedro

Thiagopedro

Curtidas 0

Respostas

Motta

Motta

18/10/2005

SELECT *
FROM CLIENTES
WHERE NOT EXISTS (SELECT NULL
                               FROM    EVENTOS 
                               WHERE EVENTOS.CODCLIENTE = CLIENTES.CODIGO AND EVENTOS.TIPO = 2 


ALGUNS BD´S NÃO SUPORTAM ESTA SINTAXE PORÉM.


GOSTEI 0
POSTAR