sql >> Base de Datos >  >> RDS >> Mysql

Unirse:los campos de la tabla 2 anulan los de la tabla 1

Use un LEFT JOIN junto con IFNULL para verificar primero las anulaciones y retroceder si no existe ninguna anulación.

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  

Nota:moví el WHERE dealerID = 123 al predicado de unión, para recuperar todos productos y las anulaciones para un distribuidor específico.