MySQL: teilen Sie das Komma getrennte Liste in mehrere Zeilen

Habe ich eine nicht normalisierte Tabelle mit einer Spalte mit einer durch Kommas getrennte Liste, die einen Fremdschlüssel zu einer anderen Tabelle:

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

Möchte ich diese Daten Lesen, in die eine Suchmaschine bietet, dass keine prozedurale Sprache.

So ist es ein Weg, um entweder machen eine Verknüpfung auf diese Spalte oder ausführen einer Abfrage auf diese Daten, fügt entsprechende Einträge in eine neue Tabelle?
Die daraus resultierenden Daten sollten wie folgt Aussehen:

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

Ich denken konnte, eine Lösung, wenn die DBMS-unterstützte Funktionen Rückgabe einer MySQL-Tabelle, aber anscheinend nicht.

InformationsquelleAutor der Frage AndreKR | 2010-10-14

Schreibe einen Kommentar