MS SQL 2016: Polinkowane wiersze - transformacja na kolumny

0

Cześć,

moje wyzwanie na weekend:) Jak z tabeli Imput uzyskać tabelę Desired Output:

https://zapodaj.net/c23fe8f1cde1f.png.html

DECLARE @table1 TABLE
(
    [Sub1] CHAR(1),
    [Sub2] CHAR(1)
);

INSERT INTO @table1
VALUES
('A', 'B'),
('A', 'D'),
('A', 'F'),
('A', 'E'),
('A', 'A'),
('A', 'C'),
('A', 'G'),
('C', 'A'),
('B', 'A'),
('Z', 'X');

select * from @table1;

Wszystkie elementy od A do G są wzajemnie substytutami:
B zastepuje A, E zastępuje też A zatem B zastepuje nie tylko A ale również i E (i na odwrót). I tak w każdą stronę.
Zastępowalność jest jakby pochodną po innych wierszach i działa w obie strony.
Natomiast X i Z są zamiennikami jedynie dla siebie - nie są w żaden sposób połączone z pozostałymi elementami.

Finalnie chciałbym uzyskać listę dla każdego elementu oddzielnie, która pokaże wszystkie możliwe zamienniki.

Będę wdzięczny za sugestie.

Pozdrawiam,
Arek

0

...czy to jest w ogóle możliwe?

2
arhetyp napisał(a):

...czy to jest w ogóle możliwe?

tak

1 użytkowników online, w tym zalogowanych: 0, gości: 1