Here is my table:
family symbol
1 A
1 B
1 C
2 D
2 F
2 E
The result I want is 2 rows: 1,A,B,C and 2,D,E,F. The order doesn't matter.
This:
SELECT T.family, T.symbol,T1.Symbol, T2.symbol
From T
inner join T as T1 on T.family = T1.family
inner join T as T2 on T.family = T2.family
WHERE T.symbol <> T1.symbol
AND T.symbol <> T2.symbol
AND T1.symbol <> T2.symbol
Gives this:
family symbol Symbol symbol
1 A C B
1 A B C
1 B C A
1 B A C
1 C B A
1 C A B
2 D E F
2 D F E
2 F E D
2 F D E
2 E F D
2 E D F
The actual table has multiple family values, each with a variable number of symbols.