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

sql cara menggabungkan tiga kueri dari dua tabel menjadi satu kueri

Persyaratan ini cukup membingungkan sehingga perlu dilakukan penilaian ulang terhadap model data Anda. Menurut saya UNION solusi terbaik Anda mungkin dimodifikasi untuk menggunakan UNION ALL untuk efisiensi.

Saya memang mengumpulkan peretasan berbasis mutex yang kemungkinan memiliki banyak masalah halus seperti halnya pertanyaan lain di halaman ini.

select
  coalesce(t2.id, t1.name) AS ID,
  coalesce(t2.company, t1.name) AS Company,
  if(isnull(t2.id), 'NOT FOUND', 'FOUND') as Status
from (select 0 as mutex union select 1) as m
left join table1 as t1 on 1 = 1
left join table2 as t2 on t1.name = t2.name or (t1.id = t2.id and mutex)
group by coalesce(t2.id, t1.name)

Karena itu, harap uji kueri ini dengan cermat dan periksa data serta hasil Anda. Ada banyak ruang untuk kesalahan tergantung pada data input Anda.



  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 saya bisa mengurutkan hasil mysql berdasarkan daftar id yang diprioritaskan?

  2. Hibernate tidak menghormati bidang kunci utama MySQL auto_increment

  3. java.lang.ClassNotFoundException:com.mysql.jdbc.Driver (maven + jboss)

  4. Cara paling efisien untuk mendapatkan jumlah baris tabel

  5. MySQL - Mengulang struktur pohon