Recuperar filas como columnas en sqlserver 2008

Tengo una tabla de distancia de mesa

Tiene columnas como

Slno    From    To  Dist
-----------------------------
1   Vskp           Hyd  100 
2   Hyd        Chennai  200 
3   Chennai        Vskp 458

Ahora quiero que los datos se muestren como

       VSKP     HYD     CHENNAI 

VSKP    0km     100km   458km   

HYD     100km     0km   200km

CHANNAI  458km  200km     0km

Traté con la consulta

SELECT *
FROM (  SELECT slno, fromcity ,tocity
        FROM DistanceTable ) AS ET
PIVOT(MIN(slno) FOR fromcity  IN (tocity) AS PT

Enlace a la pregunta en el archivo .txt

Respuestas a la pregunta(3)

Su respuesta a la pregunta