Menggabungkan Data daripada Berbilang Jadual ke dalam Jadual Baharu Menggunakan MySQL
Masalah:
Buat jadual MySQL baharu yang menggabungkan data dan lajur khusus daripada tiga jadual sedia ada: orang, taksonomi dan butiran. Matlamatnya ialah untuk mencipta jadual yang merangkumi atribut terpilih seperti nama keluarga, nama pertama, e-mel dan umur.
Struktur Jadual yang Diingini:
ID | Last Name | First Name | Age | |
---|---|---|---|---|
1 | Smith | Fred | Fred@.. | 36 |
2 | Jones | Tom | Tom@.. | 29 |
3 | Doe | Jane | Jane@.. | 27 |
Penyelesaian:
Untuk mencapai ini, lakukan JOIN 3 hala pada ketiga-tiga jadual:
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 menggabungkan data daripada orang, butiran dan jadual taksonomi berdasarkan ID yang sepadan. Ia memilih lajur yang diingini (id, nama akhir, nama_pertama, e-mel dan umur) daripada jadual yang dicantumkan.
Kaedah Alternatif:
Jika anda sudah mencipta jadual_baru jadual, 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';
Berbilang Atribut:
Untuk memasukkan berbilang atribut daripada tiga jadual, anda boleh melakukan JOIN berasingan bagi setiap atribut:
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';
Dengan menggunakan berbilang JOIN, anda boleh menggabungkan data dan lajur daripada pelbagai jadual menjadi jadual baharu yang komprehensif.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Data daripada Berbilang Jadual MySQL ke dalam Jadual Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!