MySQL Forums
Forum List  »  Portuguese

SQL complicado - Relacionar registros
Posted by: Filipe Wandenkolk
Date: March 26, 2010 12:07PM

Olá, boa tarde.

Vamos ver se consigo explicar meu problema:

Tenho uma tabela:

codigo1 | codigo2
--------------------
A | B
A | C
D | A
C | E
F | G

Bem, essa é a estrutura de uma tabela onde armazeno a equivalencia de cada código, independente da coluna onde ele se encontra.
Por exemplo: Quais são os equivalentes do código A?
A = B, A = C, A = D.
Até ai, tudo bem. Basta pesquisar o código A nas duas colunas que terei os equivalentes a ele.
SELECT * FROM tabela WHERE codigo1='A' OR codigo2 = 'A'

Porém, com isso, logicamente, o código B = C por que AMBOS são equivalentes ao código A. Ou seja:
Se A = B e A = C então B = C. Certo?
Esse seria o objetivo dessa tabela. Fazer essa amarração entre código.

Agora seguindo essa linha de raciocínio, podemos dizer que A = E por que o C = E, e como o A = C, então também A = E
Mesmo não existindo esse registro na minha tabela, A = E, eu precisava exibir esse resultado, e ai que está o problema:
Como fazer um SQL para retornar essa 'equivalencias' para mim num único resultado?
(Poderia até ser uma procedure.)
O resultado que eu preciso seria: Quais os equivalentes a A?
Resposta: B, C, D e E

Será que deu pra entender meu problema?

Agradeço desde já pela ajuda.

Options: ReplyQuote


Subject
Views
Written By
Posted
SQL complicado - Relacionar registros
4956
March 26, 2010 12:07PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.