Примерът, към който сте се свързали, използва динамичен SQL. За съжаление, няма друг вграден метод за завъртане в SQL Server, когато изходните колони не са известни предварително.
Ако данните не са твърде големи, вероятно е най-лесно просто да изпълните нормална заявка за ред от ASP.NET и да извършите своя пивот в кода на приложението. Ако данните са много големи, тогава ще трябва да генерирате SQL динамично след първо запитване за възможните стойности на колони.
Имайте предвид, че всъщност не е необходимо да пишете SQL оператор, който генерира динамичен SQL; можете просто да генерирате SQL в ASP.NET и това най-вероятно ще бъде много по-лесно. Само не забравяйте да избягате от отделния Site
стойности, преди да ги хвърлите в генерирана заявка, и не забравяйте да параметризирате каквито и да е части от SQL оператора, които обикновено бихте направили без осевата точка.