Prezados,
Estou quebrando a cabeça para fazer um select numa tabela de um banco de dados. Atenção, é uma tabela apenas, então não pode ser feito com INNER JOIN. O que preciso fazer é comparar os registros entre duas colunas, considerando diferentes linhas. Apenas consegui até o momento fazer uma comparação de linha a linha e não mostrar os registros com "mesmo nome" nas duas colunas em linhas diferentes. Para tentar ilustrar melhor o que procuro fazer, deixo um exemplo abaixo. Imaginem uma tabela chamada animais:
Coluna A I Coluna B
cachorro mosquito
gato cobra
lebre coelho
cachorro cachorro (linha 4)
papagaio orangotango
O resultado da consulta que preciso é o seguinte:
Coluna A I Coluna B
cachorro
cachorro cachorro (linha 4)
Como mencionei anteriormente, o que consegui foi apenas mostrar a linha 4 através da fórmula:
SELECT * FROM animais WHERE Coluna A=Coluna B
Ou seja, não aparece a linha 1. Entendo que logicamente ela não deve aparecer por não estar repetida na coluna B, mas necessitaria que a palavra "cachorro" aparecesse no resultado do select caso houvesse ColunaA=ColunaB. Por fim, não posso utilizar algo como
SELECT * FROM animais WHERE Coluna A='cachorro' OR Coluna B='cachorro', pois não sei se é só o cachorro que vai acontecer isso, podia ser lebre, papagaio, orangotango, qualquer coisa.
Resumindo, o que procuro mesmo é uma forma de comparar os registros entre colunas de uma mesma tabela, mostrando apenas as ocorrências iguais entre colunas, em diferentes linhas e não de linha a linha. Espero ter sido claro. Aguardo uma ajuda. Muito obrigado!