SQL Abfrage, Spalten mit gleicher ID zusammenfügen (Unterschiedliche Daten hinzufügen)
Hallo,
wie ihr feststellen werdet, habe ich nicht viel Ahnung von SQL und vielleicht ist das was ich möchte auch nicht möglich, aber ich frage trotzdem mal.
Vielleicht bringt mir ja auch ein einfach Tipp was um dies zu lösen.
Ich habe in Excel eine Abfrage erstellt, welche mir Daten aus verschiedenen Tabellen einer Datenbank ausgibt.
Es geht hierbei um div. Verkaufspakete welche aus einem oder mehreren Einzelpaketen bestehen können.
Dies ist nur anhand der PaketID ersichtlich.
Bsp.
PaketID | Stück | Länge | Farbe | Breite
1 | 3 | 2,00 | rot | 2,50
2 | 5 | 3,00 | grün | 1,55
3 | 1 | 3,50 | grün | 2,50
3 | 5 | 2,50 | grün | 2,50
3 | 2 | 2,00 | grün | 2,50
4 | 4 | 1,50 | blau | 4,00
5 | 3 | 1,50 | pink | 1,50
5 | 1 | 2,50 | pink | 1,50
Paket 3 besteht z.B. aus 1 x 3,50 / 5 x 2,50 /2 x 2,00
Paket 5 besteht z.B. aus 3 x 1,50 / 1 x 2,50
Diese Ausgabe bekomme ich auch anhand meiner Abfrage ohne Probleme hin. Unterscheiden tun sich immer nur die Stückzahl und die Länge.
Jetzt hätte ich jedoch gerne, das die Pakete (gleiche ID) zusammengefügt ausgegeben werden in einer Spalte.
Das heißt wenn die ID gleich ist, soll er Stück und Länge dahinter schreiben.
PaketID | Stück | Länge | Farbe | Breite | Stück | Länge | Stück | Länge
1 | 3 | 2,00 | rot | 2,50
2 | 5 | 3,00 | grün | 1,55
3 | 1 | 3,50 | grün | 2,50 | 5 | 2,50 | 2 | 2,00
4 | 4 | 1,50 | blau | 4,00
5 | 3 | 1,50 | pink | 1,50 | 1 | 2,50
Hoffe das ist einigermaßen verständlich.
wie ihr feststellen werdet, habe ich nicht viel Ahnung von SQL und vielleicht ist das was ich möchte auch nicht möglich, aber ich frage trotzdem mal.
Vielleicht bringt mir ja auch ein einfach Tipp was um dies zu lösen.
Ich habe in Excel eine Abfrage erstellt, welche mir Daten aus verschiedenen Tabellen einer Datenbank ausgibt.
Es geht hierbei um div. Verkaufspakete welche aus einem oder mehreren Einzelpaketen bestehen können.
Dies ist nur anhand der PaketID ersichtlich.
Bsp.
PaketID | Stück | Länge | Farbe | Breite
1 | 3 | 2,00 | rot | 2,50
2 | 5 | 3,00 | grün | 1,55
3 | 1 | 3,50 | grün | 2,50
3 | 5 | 2,50 | grün | 2,50
3 | 2 | 2,00 | grün | 2,50
4 | 4 | 1,50 | blau | 4,00
5 | 3 | 1,50 | pink | 1,50
5 | 1 | 2,50 | pink | 1,50
Paket 3 besteht z.B. aus 1 x 3,50 / 5 x 2,50 /2 x 2,00
Paket 5 besteht z.B. aus 3 x 1,50 / 1 x 2,50
Diese Ausgabe bekomme ich auch anhand meiner Abfrage ohne Probleme hin. Unterscheiden tun sich immer nur die Stückzahl und die Länge.
Jetzt hätte ich jedoch gerne, das die Pakete (gleiche ID) zusammengefügt ausgegeben werden in einer Spalte.
Das heißt wenn die ID gleich ist, soll er Stück und Länge dahinter schreiben.
PaketID | Stück | Länge | Farbe | Breite | Stück | Länge | Stück | Länge
1 | 3 | 2,00 | rot | 2,50
2 | 5 | 3,00 | grün | 1,55
3 | 1 | 3,50 | grün | 2,50 | 5 | 2,50 | 2 | 2,00
4 | 4 | 1,50 | blau | 4,00
5 | 3 | 1,50 | pink | 1,50 | 1 | 2,50
Hoffe das ist einigermaßen verständlich.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 292841
Url: https://administrator.de/forum/sql-abfrage-spalten-mit-gleicher-id-zusammenfuegen-unterschiedliche-daten-hinzufuegen-292841.html
Ausgedruckt am: 15.04.2025 um 22:04 Uhr
1 Kommentar
Was du suchst würde man gewöhnlich mit einem GROUP BY und einer Aggregierung der Angaben Anzahl x Länge zu einer Textspalte realisieren. Allerdings schreibst du nicht, welchen SQL Server du einsetzt. Bei MySQL müsste es mit GROUP_CONCAT() gehen, bei MS SQL kann man es mit XML schön machen, das könnte ich dir basteln.