webForumDet fria alternativet

Rader som kolumner

Databaser & SQL

9 svar · 898 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Frågan#1

Hejsan,

Hur gör jag för att få ut alla rader som kolumner i en vanlig datatabell, och första raden skall innehålla kolumnnamnen?

Mvh, Vide

Medlem sedan dec. 200012 464 inlägg
#2

Vilken DBMS?

Medlem sedan dec. 19998 577 inlägg
#3

Det är SQL-Server 2005.

Medlem sedan dec. 200012 464 inlägg
#4

I så fall kanske http://msdn.microsoft.com/en-us/library/ms177410(SQL.90).aspx är av intress

Medlem sedan dec. 19998 577 inlägg
#5

Jag har tittat lite på funktionen PIVOT, men jag måste erkänna att jag inte riktigt förstår hur den skall användas i mitt fall.

Jag har ju ingen aggregerade kolumn, bara en unik kolumn (idnumber). Q14 och [Month] är exempel-kolumner på vad jag vill ha som rader.

SELECT idnumber, Q14, [Month]
  FROM [P10149].[dbo].[p_Data] as _t
pivot
{
  idnumber for ??? in (??,??,??)
}

Några förslag?

Medlem sedan dec. 19998 577 inlägg
#6

Finns det någon som kan förklara hur man använder PiVOT i mitt fall?

Medlem sedan dec. 200012 464 inlägg
#7

jag har varit lite frånvarande pga diverse orsaker. pivot var något som jag slängde iväg utan att tänka mer specifikt på ditt problem :)

Jag har svårt att förstå hur du vill ha ditt resultat. kan du visa ett mer utförligt exempel?

Medlem sedan aug. 20039 340 inlägg
#8

Förstår jag dig rätt om jag tror att du vill ha datat som en lista med rubriker överst? I så fall, är det viktigt att du gör det helt i SQL utan involvering av huvudspråket?

Medlem sedan dec. 19998 577 inlägg
#9

LarsG, Tanken är att helt enkelt rotera rader till kolumner.

Från
Q1, Q2, Q3
1, 4, 9
3, 4, 8

Till
Q1, 1, 3
Q2, 4, 4
Q3, 9, 8

nitro2k01, absolut, jag har gjort en lösning på det sättet nu som fungerar rätt bra... men min erfarenhet är att SQL kan göra saker mycket snabbare, därav min fundering... men det är möjligt att den bästa lösningen ligger i huvudspråket (C#).

Medlem sedan dec. 200012 464 inlägg
#10

Jag ser ingen sqllösning.

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)