sql >> Database >  >> RDS >> Sqlserver

Transponeer een set rijen als kolommen in SQL Server 2000

Het voorbeeld op http://jdixon.dotnetdevelopersjournal.com/pivot_table_data_in_sql_server_2000_and_2005.htm werkt alleen als je van tevoren weet wat de rijwaarden kunnen zijn. Laten we bijvoorbeeld zeggen dat u een entiteit hebt met aangepaste kenmerken en dat de aangepaste kenmerken zijn geïmplementeerd als rijen in een onderliggende tabel, waarbij de onderliggende tabel in feite variabele/waarde-paren is en die variabele/waarde-paren configureerbaar zijn.

color red
size  big
city  Chicago

Ik ga een techniek beschrijven die werkt. Ik heb het gebruikt. Ik promoot het NIET, maar het werkt.

Als u de gegevens wilt draaien waarvan u vooraf niet weet wat de waarden kunnen zijn, maakt u direct een tijdelijke tabel zonder kolommen. Gebruik vervolgens een cursor om door uw rijen te lopen en voor elke variabele een dynamisch gebouwde "tabel wijzigen" uit te geven, zodat uw tijdelijke tabel uiteindelijk de kolommen, kleur, grootte, stad heeft.

Vervolgens voegt u een rij in uw tijdelijke tabel in, werkt u deze bij via een andere cursor via de variabele, waardeparen en selecteert u deze vervolgens, meestal samengevoegd met de bovenliggende entiteit, waardoor het lijkt alsof die aangepaste variabele/waarde-paren als gebouwd- in kolommen in de oorspronkelijke bovenliggende entiteit.



  1. (-) streepje gebruiken in mysql-tabelnaam

  2. Hoe de laatste rij per groep te krijgen in PostgreSQL

  3. Voordelen van NoSQL-databases – Alles wat u moet weten

  4. Hoe tel je het aantal keren dat een bepaalde substring in een SQL-varchar voorkomt?