Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Data daripada Tiga Jadual MySQL ke dalam Jadual Baharu?

Bagaimana untuk Menggabungkan Data daripada Tiga Jadual MySQL ke dalam Jadual Baharu?

Susan Sarandon
Susan Sarandonasal
2024-11-23 02:03:17951semak imbas

How to Combine Data from Three MySQL Tables into a New Table?

mySQL: Mencipta Jadual Baharu daripada Data dan Lajur Tiga Jadual

Soalan:

Bagaimana saya boleh membuat jadual baharu yang menggabungkan data terpilih daripada tiga jadual sedia ada, termasuk medan last_name, nama_pertama, e-mel dan umur daripada jadual orang, butiran dan taksonomi?

Jawapan:

Untuk mencapai matlamat ini, anda boleh menggunakan SERTAI 3 hala.

Mencipta Jadual Baharu dengan Menyertai:

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';

Pertanyaan ini akan membuat jadual baharu bernama new_table yang merangkumi lajur_last_name, first_name, e-mel dan umur. Dalam jadual butiran, medan kandungan digunakan untuk menyimpan maklumat umur.

Memasukkan Data ke dalam Jadual Sedia Ada:

Jika anda telah mencipta jadual_baru, anda boleh memasukkan data ke dalamnya menggunakan pertanyaan berikut:

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';

Menyertai untuk Berbilang Atribut:

Untuk mendapatkan semula berbilang atribut (cth., umur, jantina, ketinggian) daripada jadual lain, anda perlu melakukan gabungan tambahan:

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 AND d1.taxonomy_id = (SELECT id FROM taxonomy WHERE taxonomy = 'age')
JOIN details AS d2 ON d2.person_id = p.id AND d2.taxonomy_id = (SELECT id FROM taxonomy WHERE taxonomy = 'gender')
JOIN details AS d3 ON d3.person_id = p.id AND d3.taxonomy_id = (SELECT id FROM taxonomy WHERE taxonomy = 'height');

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Data daripada Tiga Jadual MySQL ke dalam Jadual Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn