Hay algunas cosas que están mal con su consulta.
Primero, le falta una función agregada en su PIVOT. Necesita un agregado alrededor de propertyvalue .
En segundo lugar, debe rodear el $row1 , etc con corchetes no comillas simples.
Tercero, usaría un alias diferente para el as pivot
Como resultado, el código será:
select *
from
(
select name, propertyvalue, displayname
from indexrows
) a
pivot
(
max(propertyvalue)
for [displayname] in ([$row1], [$row2], [$row3])
) piv;
Consulte SQL Fiddle con demostración