Exemplet du länkade till använder dynamisk SQL. Tyvärr finns det ingen annan inbyggd metod för att pivotera i SQL Server när utdatakolumnerna inte är kända i förväg.
Om data inte är för stora är det förmodligen enklast att helt enkelt köra en normal radfråga från ASP.NET och utföra din pivot i applikationskoden. Om data är mycket stora måste du generera SQL dynamiskt efter att ha sökt efter möjliga kolumnvärden.
Observera att du faktiskt inte behöver skriva en SQL-sats som genererar dynamisk SQL; du kan helt enkelt generera SQL i ASP.NET, och det kommer troligen att bli mycket enklare. Glöm bara inte att fly den distinkta Site
värden innan du lägger in dem i en genererad fråga, och glöm inte att parametrisera de delar av SQL-satsen som du normalt skulle göra utan pivoten.