MySQL: Kommagetrennte Liste in mehrere Zeilen aufteilen

Ich habe eine nicht normalisierte Tabelle mit einer Spalte, die eine durch Kommas getrennte Liste enthält, die ein Fremdschlüssel für eine andere Tabelle ist:

+----------+-------------+   +--------------+-------+
| part_id  | material    |   | material_id  | name  |
+----------+-------------+   +--------------+-------+
|      339 | 1.2mm;1.6mm |   |            1 | 1.2mm |
|      970 | 1.6mm       |   |            2 | 1.6mm |
+----------+-------------+   +--------------+-------+

Ich möchte diese Daten in eine Suchmaschine einlesen, die keine prozedurale Sprache bietet.

So gibt es einen Weg zuentwede mache einen Join für diese Spalteode eine Abfrage für diese Daten ausführen, die die entsprechenden Einträge in eine neue Tabelle einfügt? Die resultierenden Daten sollten folgendermaßen aussehen:

+---------+-------------+
| part_id | material_id |
+---------+-------------+
|     339 |           1 |
|     339 |           2 |
|     970 |           2 |
+---------+-------------+

Ich könnte mir eine Lösung vorstellen, wenn das DBMS Funktionen unterstützt, die eine Tabelle zurückgeben, aber MySQL anscheinend nicht.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage