Вы можете использовать серию left join
s:
SELECT m.item,
COALESCE(i1.name, i2.name, i3.name) as name,
COALESCE(i1.price, i2.price, i3.price) as price,
m.quantity, m.manufacturer, m.shipment
FROM Master m LEFT JOIN
Item1 i1
ON i1.product_id = m.product_id AND
m.item = 'item1' LEFT JOIN
Item1 i2
ON i2.product_id = m.product_id AND
m.item = 'item2' LEFT JOIN
Item1 i1
ON i3.product_id = m.product_id AND
m.item = 'item3'
WHERE m.product_id = 20;
Однако я бы посоветовал объединить их вместе:
SELECT m.item,
COALESCE(i1.name, i2.name, i3.name) as name,
COALESCE(i1.price, i2.price, i3.price) as price,
m.quantity, m.manufacturer, m.shipment
FROM Master m LEFT JOIN
((SELECT 'item1' as item, i1.*
FROM Item1 i1
) UNION ALL
(SELECT 'item2' as item, i2.*
FROM Item1 i2
) UNION ALL
(SELECT 'item3' as item, i3.*
FROM Item1 i3
)
) i
ON i.product_id = m.product_id AND
i.item = m.item
WHERE m.product_id = 20;
Я бы посоветовал вам сохранить "элементы" все в одной таблице, чтобы облегчить такие запросы.