PIVOTE las filas a columnas con más de 1 valor devuelto
Actualmente estoy trabajando en un sistema que tiene 2 tablas configuradas así:
Table_1
-------
ID
Table2ID
Value
Table_2
--------
ID
ColumnName
Algunos resultados simulados de cada tabla:
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
Por lo tanto, tengo la siguiente consulta, intentando convertir los resultados de la fila de Table_2 en columnas
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
El problema es que, como está escrito, obtengo un solo resultado. Mi valor devuelto sería algo como esto:
First_Set | Second_Set
-------------------------
ABCD | MNOP
Lo que quiero es TODO el resultado para cada columna, pero no he podido encontrar un método de uso de PIVOT que me permita hacerlo.
¿Alguien tiene alguna sugerencia sobre la mejor manera de convertir filas en columnas y luego recibir múltiples resultados para cada columna?