sql >> Database >  >> RDS >> Mysql

Join - velden in tabel 2 overschrijven die in tabel 1

Gebruik een LEFT JOIN samen met IFNULL om eerst de overschrijvingen te controleren en terug te vallen als er geen overschrijvingen bestaan.

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  

Opmerking:ik heb de WHERE dealerID = 123 . verplaatst naar het join-predikaat, om alle . op te halen producten en de overschrijvingen voor een specifieke dealer.



  1. Is er een limiet voor de door komma's gescheiden tekenreeks in find_in_set in mysql-query?

  2. Tekensets en sorteringen in MySQL begrijpen

  3. Kan ik automatisch een tabel maken in PostgreSQL vanuit een csv-bestand met headers?

  4. PostgreSQL incrementele back-up en point-in-time herstel