sql >> Database teknologi >  >> RDS >> Sqlserver

Transponer et sæt rækker som kolonner i SQL Server 2000

Eksemplet på http://jdixon.dotnetdevelopersjournal.com/pivot_table_data_in_sql_server_2000_and_2005.htm virker kun, hvis du på forhånd ved, hvad rækkeværdierne kan være. Lad os f.eks. sige, at du har en enhed med tilpassede attributter, og de tilpassede attributter er implementeret som rækker i en undertabel, hvor den underordnede tabel grundlæggende er variabel/værdi-par, og disse variabel/værdi-par er konfigurerbare.

color red
size  big
city  Chicago

Jeg vil beskrive en teknik, der virker. Jeg har brugt det. Jeg promoverer det IKKE, men det virker.

For at pivotere dataene, hvor du ikke ved, hvad værdierne kan være på forhånd, skal du oprette en midlertidig tabel uden kolonner. Brug derefter en markør til at gå gennem dine rækker, og udsted en dynamisk bygget "ændringstabel" for hver variabel, så din midlertidige tabel i sidste ende har kolonnerne, farven, størrelsen, byen.

Derefter indsætter du en række i din midlertidige tabel, opdaterer den via en anden markør gennem variablen værdipar og vælger den, normalt forbundet med dens overordnede enhed, hvilket i realiteten får det til at virke som om de tilpassede variable/værdipar var som indbyggede- i kolonner i den oprindelige overordnede enhed.



  1. Hvorfor oracle IN-klausul kun har en grænse på 1000 for statiske data?

  2. MySQL Opdel kommasepareret streng i Temp-tabel

  3. NOW() Eksempler – MySQL

  4. Sådan bruger du pgBackRest til at sikkerhedskopiere PostgreSQL og TimescaleDB