Número variable variable de filas a columnas

Actualmente estoy tratando de PIVOT algunas filas a columnas. El problema es que no siempre sé cuántas filas estarán disponibles. Veamos un ejemplo:

Values_Table                         Columns_Table
------------                         -----------
ID                                   ID
ColumnsTableID                       GroupID
Value                                ColumnName

RESULTADOS "

Columns_Table
---------------
ID   |   GroupID   |   ColumnName
---------------------------------     
0        1             Cats
1        1             Dogs
2        1             Birds
3        2             Pontiac
4        2             Ford
5        3             Trex
6        3             Raptor
7        3             Triceratops
8        3             Kentrosaurus

EJEMPLO DE FIDDLE SQL de un pivote ESTÁTICO. Estoy tratando de lograr un pivote dinámico -http://sqlfiddle.com/#!3/2be82/1

Entonces, aquí está mi dilema: quiero poder pivotar un número desconocido de columnas basado en, en este escenario, el GroupID.

Quiero poder PIVOTAR, por ejemplo, todas las filas en GroupID 3 en columnas. Tendría que hacer esto sin saber cuántas filas hay en groupID 3.

El diseño de la base de datos está escrito en piedra, así que no puedo hacer nada al respecto. Todo lo que puedo hacer es trabajar con lo que tengo :(

Entonces, dicho esto, ¿alguien tiene alguna sugerencia sobre cómo realizar esta tarea de PIVOTAR un número desconocido de filas en columnas basadas en, en este ejemplo, el ID de grupo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta