Werte horizontal anzeigen

01/10/2009 - 10:46 von Hermann | Report spam
Hallo NG-Gemeinde,

ich stehe gerade auf dem Schlauch und brauch eure Hilfe. Folgendes Problem:

Ich habe eine Tabelle, die folgendermaßen aussieht:

ID Menge Preis
1 1 5
1 2 4
1 5 3,5
2 1 7
2 3 6
3 1 4
2 10 5
3 5 3

Nun möchte ich die Werte horizontal darstellen:

ID Menge1 Preis1 Menge2 Preis2
1 1 5 2 4
2 1 7 3 6
3 1 4 5 3

Die Werte können auch alle in einer Spalte dargestellt werden:

ID Werte
1 1:5;2:4;5:3,5;
2 1:7;3:6;10:5;
3 1:4;5:3;

Das die Werte in einer Spalte dargestellt werden, habe ich mit CTE
hingekriegt. Jedoch ist die Performance ziemlich schlecht, wenn jedesmal
die Funktion mit der ID aufgerufen wird. Bei 20000 DS dauert es schon
mal 2 min. und das sind nur wenige DS.

Habt ihr vielleicht eine andere Lösung die auch performanter ist?

Danke im Voraus

Hermann
 

Lesen sie die antworten

#1 Frank Kalis
01/10/2009 - 11:03 | Warnen spam
"Hermann" wrote:

ich stehe gerade auf dem Schlauch und brauch eure Hilfe. Folgendes Problem:

Ich habe eine Tabelle, die folgendermaßen aussieht:

ID Menge Preis
1 1 5
1 2 4
1 5 3,5
2 1 7
2 3 6
3 1 4
2 10 5
3 5 3

Nun möchte ich die Werte horizontal darstellen:

ID Menge1 Preis1 Menge2 Preis2
1 1 5 2 4
2 1 7 3 6
3 1 4 5 3

Die Werte können auch alle in einer Spalte dargestellt werden:

ID Werte
1 1:5;2:4;5:3,5;
2 1:7;3:6;10:5;
3 1:4;5:3;

Das die Werte in einer Spalte dargestellt werden, habe ich mit CTE
hingekriegt. Jedoch ist die Performance ziemlich schlecht, wenn jedesmal
die Funktion mit der ID aufgerufen wird. Bei 20000 DS dauert es schon
mal 2 min. und das sind nur wenige DS.

Habt ihr vielleicht eine andere Lösung die auch performanter ist?




Du schreibst leider nicht, welche SQL Server Version Du einsetzt. Schau mal
hier:
SQL Server 2000:
http://www.insidesql.org/beitraege/...rueckgeben
SQL Server 2005+:
http://www.insidesql.org/faq/spalte...ben-teil-2
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

Ähnliche fragen