Przykład pod adresem http://jdixon.dotnetdevelopersjournal.com/pivot_table_data_in_sql_server_2000_and_2005.htm działa tylko wtedy, gdy wiesz z góry, jakie mogą być wartości wierszy. Załóżmy na przykład, że masz encję z atrybutami niestandardowymi, a atrybuty niestandardowe są zaimplementowane jako wiersze w tabeli podrzędnej, gdzie tabela podrzędna to w zasadzie pary zmienna/wartość, a te pary zmienna/wartość można konfigurować.
color red
size big
city Chicago
Opiszę technikę, która działa. Użyłem go. NIE promuję tego, ale działa.
Aby przestawić dane, w których nie wiesz z góry, jakie mogą być wartości, utwórz tabelę tymczasową w locie bez kolumn. Następnie użyj kursora, aby przejść przez wiersze, tworząc dynamicznie zbudowaną „tablicę zmian” dla każdej zmiennej, tak aby na końcu tabela tymczasowa zawierała kolumny, kolor, rozmiar, miasto.
Następnie wstawiasz jeden wiersz do tabeli tymczasowej, aktualizujesz go za pomocą innego kursora przez zmienną, pary wartości, a następnie wybierasz go, zwykle połączony z jego encją nadrzędną, w efekcie sprawiając wrażenie, że te niestandardowe pary zmienna/wartość były jak zbudowane- w kolumnach oryginalnej encji nadrzędnej.