Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Transponuj zestaw wierszy jako kolumny w SQL Server 2000

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, czy obiekt jest tabelą zdefiniowaną przez użytkownika w SQL Server za pomocą OBJECTPROPERTY()

  2. Wartości dziesiętne w SQL do dzielenia wyników

  3. Wspólne wyrażenie tabeli, dlaczego średnik?

  4. Zainstaluj rozszerzenie agenta programu SQL Server w Azure Data Studio

  5. Jak mogę porównać czas w SQL Server?