Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mySQL - Buat Tabel Baru Menggunakan Data dan Kolom dari Tiga Tabel

Anda perlu melakukan JOIN 3 arah:

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'

DEMO

Atau jika Anda sudah membuat tabel, Anda dapat melakukan:

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'

Untuk mendapatkan beberapa atribut, Anda harus menggabungkan detail dan tabel taksonomi secara terpisah untuk 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'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memilih dari dua tabel di MySQL meskipun tidak semua baris dalam satu tabel memiliki koresponden di tabel lainnya?

  2. Kodekan API Pertama Anda Dengan Node.js dan Express:Hubungkan Database

  3. MySQL gagal pada:mysql ERROR 1524 (HY000):Plugin 'auth_socket' tidak dimuat

  4. Cara membuat cadangan database MySQL menggunakan AutoMySQLBackup

  5. unggah file php, cara membatasi jenis unggahan file