Heim  >  Artikel  >  Datenbank  >  Wie füge ich Daten aus mehreren MySQL-Tabellen in einer neuen Tabelle zusammen?

Wie füge ich Daten aus mehreren MySQL-Tabellen in einer neuen Tabelle zusammen?

Susan Sarandon
Susan SarandonOriginal
2024-11-23 13:11:14921Durchsuche

How to Merge Data from Multiple MySQL Tables into a New Table?

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 Email 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn