Linhas de PIVOT para colunas com mais de 1 valor retornado
Atualmente estou trabalhando em um sistema que tem 2 tabelas configuradas da seguinte forma:
Table_1
-------
ID
Table2ID
Value
Table_2
--------
ID
ColumnName
Alguns resultados simulados de cada tabela:
Table_1
Table2ID | Value
---------------
1 | ABCD
1 | EFGH
1 | IJKL
2 | MNOP
2 | QRST
2 | UVWX
Table_2
ID | ColumnName
--------------------
1 | First_Set
2 | Second_Set
Então, eu tenho a seguinte consulta, tentando transformar os resultados da linha da Table_2 em colunas
SELECT *
FROM(
SELECT B.ColumnName, A.Value
FROM Table_1 AS A
INNER JOIN Table_2 AS B ON A.Table2ID = B.ID
) AS P
PIVOT
(
min(P.Value)
for P.ColumnName in ([First_Set], [Second_Set])
) AS PIV
O problema é que, como está escrito, recebo um único resultado. Meu valor retornado seria algo assim:
First_Set | Second_Set
-------------------------
ABCD | MNOP
O que eu quero é todo o resultado para cada coluna, mas eu não fui capaz de encontrar um método de usar o PIVOT que me permite fazer isso.
Alguém tem uma sugestão sobre a melhor maneira de transformar linhas em colunas e, em seguida, receber vários resultados para cada coluna?