[MS SQL] Mehrfach-Join, Ergebnis in einer Zeile

Va7e

Mitglied
Hi!

Ich muss eine Tabelle mehrfach joinen und das Ergebnis in nur EINER Zeile zurückgeben. An sich kein Problem, doch jetzt kommt das große ABER:

Die Tabelle beinhaltet Staffelpreise der Artikel. Aufgebaut ist die Tabelle so:

[Artikelnummer], [Menge], [Preis], [UniqueID] (Die restlichen Spalten spielen keine Rolle, sind nur so Spalten wie Farbkennung und so dabei)

Und die Daten, die ich habe:

1. Artikelnummer: 1000
Die Mengen für diesen Artikel sind: 1, 10, 50
Und die Preise: 10, 9, 8

2. Artikelnummer: 2000
Mengen: 1, 10, 20, 50, 100
Preise: 45, 43, 42, 37, 35

Ich MUSS mit einem SQL-Befehl nur EINE Zeile zurückbekommen, die so aussieht (In dem Fall für Artikelnummer 1000):
Menge1 = 1
Preis1 = 10
Menge2 = 10
Preis2 = 9
Menge3 = 50
Preis3 = 8
Menge4 = NULL
Preis4 = NULL
Menge5 = NULL
Preis5 = NULL

Bei dem anderen Artikel aus dem Beispiel werden natürlich alle Felder gefüllt. Ich weiß, mit einer laufenden Nummer o.ä. wäre es viel einfacher, aber die Tabelle darf ich NICHT erweitern.

Mir ist bewusst, dass es eigentlich fast unmöglich ist, das Ergebnis so zu bekommen, wie ich möchte, aber vielleicht hat ja jemand doch noch eine Idee? :-)

Mit freundlichen Grüßen,

Va7e
 
Eine Kreuzabfrage/Pivot.
Da gilt einmal mehr die wichtige Frage:
Mit was für einer Datenbank arbeitst du? MySQL, Oracle, MS SQL?
 
Hab mal den Thread-Titel angepasst.
Hoffen wir dass ein MS SQL-Profi vorbeikommt

Vielen Dank!
Ich habe es vorrübergehend anders gelöst, ich erstelle eine temporäre Tabelle, die die oben genannten Spalten beinhaltet und fülle diese dann mit den Werten aus der anderen Tabelle, so kriege ich jedes Mal das Ergebnis in einer Zeile, so wie ich es haben möchte. Würde mich aber trotzdem freuen, wenn sich das einer der Profis mal anschaut, denn sauber ist meine jetzige Lösung nicht unbedingt ;-)
 
Zurück