LEFT JOIN
を使用します
IFNULL
>
最初にオーバーライドをチェックし、オーバーライドが存在しない場合はフォールバックします。
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
注: WHERE DealerID =123
を移動しました 結合述語に、すべてを取得する 製品、および特定のディーラーのオーバーライド。