Fórum Selecionando registros não existentes pela where... #299816

18/10/2005

0

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

Responder

Posts

18/10/2005

Motta

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar