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

(Saya) SQL bergabung penuh dengan tiga tabel

Sejauh yang saya tahu tidak ada gabungan luar penuh di MySql. Jadi, untuk melakukan apa yang Anda perlukan, Anda harus mendapatkan ID yang berbeda di tabel turunan dan bergabung dengan tabel asli:

select ids.id,
       ifnull(table1.A, 0) A,
       ifnull(table2.B, 0) B,
       ifnull(table3.C, 0) C,
       ifnull(table1.A, 0) + ifnull(table2.B, 0) - ifnull(table3.C, 0) R
  from 
  (
    select id
      from table1
    union
    select id
      from table2
    union
    select id
      from table3
  ) ids
  left join table1
    on ids.id = table1.id
  left join table2
    on ids.id = table2.id
  left join table3
    on ids.id = table3.id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabel 'performance_schema.session_variables' tidak ada

  2. MySQL InnoDB:kunci non-utama peningkatan otomatis

  3. Adakah yang bisa membantu menjelaskan mengapa tidak menggunakan SQL JOIN adalah praktik yang buruk dan salah?

  4. Jenis Waktu Mysql memberikan ArgumentError:argumen di luar jangkauan di Rails jika lebih dari 24 jam

  5. Mengekspos nama tabel dan nama bidang di URL permintaan