Tenho 2 tabelas:
Tabela 1
Pai (varchar) Filho (varchar)
Mesa 2
C1(varchar) PC (varchar)
Dados de amostra:
Requisito - Preciso dos valores Table2.C1 para os quais a coluna Table2.PC = Table1.Child , mas os valores Child devem ser diferentes dos valores Table1.Parent.
Estou usando a consulta abaixo no mysql:
select distinct(C1),Child,PC
from Table2 inner join Table1
on Table2.PC=Table1.Child
where Table1.Child not in (select Parent from Table1);
Está dando um conjunto vazio, mas há valores em Child que são iguais aos de PC, mas não em Parent....
Onde estou errando?
A cláusula "where" exclui tudo na Tabela1
Forneça dados de amostra na pergunta se desejar um exemplo de consulta SQL
Você está procurando por isso?
Resultado:
Aqui está a demonstração do SQLFiddle
Executar sua consulta com os dados mostrados me dá 1 resultado com C1 = mono, Child = qwer e PC = qwer
Os dados exibidos devem fornecer esse resultado, de acordo com a consulta.
Se você não obtiver o mesmo resultado, meu palpite é que você tem mais dados em suas tabelas do que mostra aqui, o que está filtrando o resultado; ou há algum outro fator que você não mencionou.