Usa un LEFT JOIN
insieme a IFNULL
per controllare prima le sostituzioni e il fallback se non esistono sostituzioni.
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:ho spostato il WHERE dealerID = 123
al predicato join, per recuperare tutto prodotti e le sostituzioni per un rivenditore specifico.