Tabla dinámica de MS SQL Server con subconsulta en cláusula de columna

¡Estoy seguro de que esta es una técnica simple aunque no puedo encontrar una respuesta hasta ahora!

yo tengo

TIMESTAMP           | POINTNAME | VALUE
2012-10-10 16:00:00   AHU01       20
2012-10-10 16:00:00   AHU02       25
2012-10-10 16:00:15   AHU01       26
2012-10-10 16:00:15   AHU02       35

etc ... (por aprox. 800 PUNTOS)

con muchos nombres de puntos, no quiero incluirlos en la cláusula 'IN' de la definición de pivote 'FOR' (como se indica a continuación) pero me gustaría usar una subconsulta.

Lo que me gustaría es que todos los valores de POINTNAME sean columnas con una columna TIMESTAMP AND VALUE, así que obtendré un valor de TIMESTAMP y muchas columnas con cada POINTNAME, solo hay un valor por POINTNAME POR TIMESTAMP, por lo que no necesito agregar ¿Algo así que solo elige max de todos modos?

Algo como:

SELECT [TIMESTAMP] FROM ( SELECT * FROM POINT_TABLE)
PIVOT( Max[Value] FOR [POINTNAME] IN (SELECT DISTINCT [POINTNAME] FROM POINT_TABLE)

produciría

   TIMESTAMP              AHU01          AHU02
 2012-10-10 16:00:00        20             25
 2012-10-10 16:15:00        26             35

Me doy cuenta de que probablemente no sea así de simple, pero espero que obtengas lo que estoy tratando de lograr.

SINTAXIS PIVOTE

SELECT <non-pivoted column>,
    [first pivoted column] AS <column name>,
    [second pivoted column] AS <column name>,
    ...
    [last pivoted column] AS <column name>
FROM
    (<SELECT query that produces the data>) 
    AS <alias for the source query>
PIVOT
(
    <aggregation function>(<column being aggregated>)
FOR 
[<column that contains the values that will become column headers>] 
    IN ( [first pivoted column], [second pivoted column],
    ... [last pivoted column])
) AS <alias for the pivot table>
<optional ORDER BY clause>;

Respuestas a la pregunta(1)

Su respuesta a la pregunta