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

Gabung - bidang di tabel 2 menimpa yang ada di tabel 1

Gunakan LEFT JOIN bersama dengan IFNULL untuk memeriksa terlebih dahulu penggantian, dan mundur jika tidak ada penggantian.

SELECT p.partnum, 
    IFNULL(d.price, p.price) AS price,
    IFNULL(d.installtime, p.installtime) AS installtime
FROM products p 
  LEFT JOIN overrides d ON d.dealerID = 123
      AND p.partnum = d.partnum  

Catatan:Saya memindahkan WHERE dealerID = 123 ke predikat bergabung, untuk mengambil semua produk, dan penggantian untuk dealer tertentu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Praktik/panduan yang ada untuk pembuatan tabel yang tidak dinormalisasi selama proses normalisasi?

  2. Bagaimana cara membuat database MySql menggunakan shell_exec php?

  3. mySQL dateTime range Masalah Kueri

  4. Mode apa untuk MySQL WEEK() yang sesuai dengan ISO 8601

  5. MySQL Trigger untuk memasukkan data ke DB yang berbeda