Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Join - os campos da tabela 2 substituem os da tabela 1


Use um LEFT JOIN juntamente com IFNULL para verificar primeiro as substituições e recuar se não existir nenhuma substituição.
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  

Observação:movi WHERE dealerID = 123 ao predicado de junção, para recuperar todos produtos e as substituições para um revendedor específico.