MySQL Datenbank Tabelle kopieren und Gruppieren

spam30
Goto Top
Hallo zusammen,
ich bin noch relativ neu im Thema MySQL Datenbanken aber ich muss eine Tabelle vom Format:

ID/Rezept /Menge1/Produkt1 /Menge2 /Produkt2/Menge3/Produkt3/...../Produkt10
1/Baugruppe1/5 /Schrauben/10 /Muttern /2 /Kappen /..........

in dieses Format kopieren:
ID/Menge/Produkt
1 /5 /Schrauben
2 /10 /Muttern
3 /2 /Kappen
....

Wie kann ich da ma schnellsten umstetzen?
mit freudlichen g

Content-Key: 1750784834

Url: https://administrator.de/contentid/1750784834

Ausgedruckt am: 16.05.2022 um 16:05 Uhr

Mitglied: MirkoKR
MirkoKR 22.01.2022 aktualisiert um 19:57:49 Uhr
Goto Top
Geht das nur mir so, oder ist die Frage bzgl. Quelle ziemlich wirr?

Ich kann nicht nachvollziehen, was aus der Quelle im Ergebnis wo landen soll ;-) face-wink..

.Nachtrag:
Ich versuch das mal zu verdeutlichen, wie ich es nach zigmaligem Lesen interpretieren würde:

Tabelle Quelle

Die Zieltabelle soll sein:

wo offensichtlich "Rezept" entfällt.
Mitglied: em-pie
em-pie 22.01.2022 um 19:57:20 Uhr
Goto Top
Moin,

Eigentlich müsstest du mit UNPIVOT arbeiten, was MySQL aber (scheinbar) nicht kann.

Ergo bleibt dir vermutlich nur, die Tabelle mit UNION ALL aufzudröseln, in deinem Fall dann halt 9x ein UNION

https://stackoverflow.com/questions/15184381/mysql-how-to-unpivot-column ...

@MirkoKR
Er hat das Problem, dass Infos, die eigentlich einen eigenen Datensatz bilden sollten, in Spalten abgebildet worden sind.
Wenn du z.B. die Bauteile für einen Kugelschreiber darstellen willst, würde ICH jedes Bauteil als eigenen Artikel nebst Menge (=Datensatz)anlegen über über nur eine zusätzliche Spalte in Beziehung zueinander bringen.
Hier wurden aber alle Bauteile, die für einen Kulli erforderlich sind, in einem gemeinsamen DS untergebracht


Gruß
em-pie
Mitglied: MirkoKR
MirkoKR 22.01.2022 um 20:06:38 Uhr
Goto Top
Zitat von @em-pie:

@MirkoKR
Er hat das Problem, dass Infos, die eigentlich einen eigenen Datensatz bilden sollten, in Spalten abgebildet worden sind.

Ja, das hab ich dann auch durchschaut - nur, wie er gefragt hat,verliert er den Bezug zum Rezept - er bräuchte also entweder je Ziel- Datensatz nochmal das "Rezept"-Feld oder eine X-Tabelle

Ich hatte in der Vergangeheit auch schon öfter mit solchen Programmierfehlern zu tun - meist, weil jemand sparsam sein wollte bei Export aus SAP, Oracle oder MS-SQL, etc...

.
Mitglied: em-pie
em-pie 22.01.2022 um 20:09:02 Uhr
Goto Top
Ah, das stimmt, Seine Ur-ID geht hopps…
Naja, kann man ja umgehen. „Spannend“ wird es, wenn die Struktur beibehalten werden soll.

Dann braucht es a) die UrID und n) die ID des übergeordneten Artikels…
Mitglied: MirkoKR
MirkoKR 22.01.2022 um 20:41:57 Uhr
Goto Top
Wobei die Überschrift "Gruppieren" auch bedeuten könnte, das er je Artikel eine Summe bilden will ??
Mitglied: MirkoKR
MirkoKR 22.01.2022 aktualisiert um 21:07:17 Uhr
Goto Top
Also @Spam30 bleiben die Ziel-Fragen:

  • GRUPPIEREN nach REZEPT dann fehlt aber je Ziel-Datensatz der Bezug zum REZEPT?
  • SUNMIEREN nach ARTIKEL?
  • GRUPPIEREN nach ARTIKEL - dann fehlt aber je Ziel-Datensatz der Bezug zum REZEPT?

.
Mitglied: Spam30
Spam30 22.01.2022 aktualisiert um 21:38:40 Uhr
Goto Top
Das ging hier aber schnell.
Danke schon mal für die vielen Beiträge.

Tut mir leid wenn die Frage wirr klingt. Deshalb hab ich es auch versucht so gut wie möglich im Beispiel zu erklären.

Ziel ist es herrauszufinden welche Summe ich vom jeweiligen Artikel benötige wenn ich x Rezepte ausgewählt habe. (Eine Art Bestelliste für die nächsten Rezepte)
Wobei jeder Artikel theoretisch in jedem Rezept vorkommen kann.
Mitglied: MirkoKR
MirkoKR 22.01.2022 um 21:59:19 Uhr
Goto Top
Also, Besten fährst du, wenn du einen Export
bekommen / erzeugen könntest

Daraus könntest du

summieren

Am flexibelsten wärst du aber, wenn dein 8m TE genannter Output zu


gewandelt würde

Dann könntest die Zieldatei gruppieren nach
  • Rezept
  • Artikel

und darüber gruppieren nach REZEPT oder Artikel und als Gruppierungsergebis die Summe ausgeben...

Allerdings werden dir diese Infos nicht final zum Ziel helfen .. da nusst du dich wohl noch ein wenig mit Google behelfen .. ;-) face-wink
Mitglied: Spam30
Spam30 22.01.2022 um 22:18:56 Uhr
Goto Top
Ok dann werde ich mal schauen, wie ich die vorhandene Datenbank umstrukturieren kann.

Vielen Dank an euch alle.
Mitglied: MirkoKR
MirkoKR 22.01.2022 um 22:38:41 Uhr
Goto Top
Du musst die vorhandene Datenbank nicht umstrukturieren um deine hier gestellte Aufgabe zu erfüllen.

Wenn du aber an der Quelle sitzt, solltest du dich damit befassen statt

Produkt1 bis Produkt10

in einen Datensatz zu speichern,
mit X- Tabellen zu arbeiten. weil

du damit beliebig viele Sub-Felder je Hauptdatensatz speichern kannst, die sich auf die übergeordnete ID beziehen

und bei der Abfrage extrem besser skalieren kannst ...

Stichwort : "Normalisierung"

wobei die "Normalisierung" auch oft zu weit geht!

.

.