Daten aus mehreren Tabellen in einer neuen Tabelle mit MySQL zusammenführen
Problem:
Erstellen eine neue MySQL-Tabelle, die spezifische Daten und Spalten aus drei vorhandenen Tabellen kombiniert: Personen, Taxonomie und Details. Ziel ist es, eine Tabelle zu erstellen, die ausgewählte Attribute wie Nachname, Vorname, E-Mail und Alter enthält.
Gewünschte Tabellenstruktur:
ID | Last Name | First Name | Age | |
---|---|---|---|---|
1 | Smith | Fred | Fred@.. | 36 |
2 | Jones | Tom | Tom@.. | 29 |
3 | Doe | Jane | Jane@.. | 27 |
Lösung:
Um dies zu erreichen, führen Sie einen 3-Wege-JOIN für die drei durch Tabellen:
CREATE TABLE new_table AS SELECT p.*, d.content AS age FROM people AS p JOIN details AS d ON d.person_id = p.id JOIN taxonomy AS t ON t.id = d.detail_id WHERE t.taxonomy = 'age';
Diese Abfrage kombiniert Daten aus den Personen-, Detail- und Taxonomietabellen basierend auf übereinstimmenden IDs. Es wählt die gewünschten Spalten (ID, Nachname, Vorname, E-Mail und Alter) aus den verbundenen Tabellen aus.
Alternative Methode:
Wenn Sie die neue_Tabelle bereits erstellt haben In die Tabelle können Sie mit der folgenden Abfrage Daten einfügen:
INSERT INTO new_table (id, last_name, first_name, email, age) SELECT p.id, p.last_name, p.first_name, p.email, d.content AS age FROM people AS p JOIN details AS d ON d.person_id = p.id JOIN taxonomy AS t ON t.id = d.detail_id WHERE t.taxonomy = 'age';
Multiple Attribute:
Um mehrere Attribute aus den drei Tabellen einzubeziehen, können Sie für jedes Attribut separate JOINs ausführen:
CREATE TABLE new_table AS SELECT p.*, d1.content AS age, d2.content AS gender, d3.content AS height FROM people AS p JOIN details AS d1 ON d1.person_id = p.id JOIN taxonomy AS t1 ON t1.id = d1.detail_id JOIN details AS d2 ON d2.person_id = p.id JOIN taxonomy AS t2 ON t2.id = d2.detail_id JOIN details AS d3 ON d3.person_id = p.id JOIN taxonomy AS t3 ON t3.id = d3.detail_id WHERE t1.taxonomy = 'age' AND t2.taxonomy = 'gender' AND t3.taxonomy = 'height';
Durch die Verwendung mehrerer JOINs können Sie Daten und Spalten aus zusammenführen verschiedene Tabellen in eine umfassende neue Tabelle zusammenfassen.
Das obige ist der detaillierte Inhalt vonWie füge ich Daten aus mehreren MySQL-Tabellen in einer neuen Tabelle zusammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!