Dadurch werden mehrere Datensätze für einen Datensatz in Artikel zurückgegeben, wenn es mehrere Preisdatensätze dafür mit dem Mindestpreis gibt:
select items.id, items.name, prices.price, prices.id
from items
left join prices on (
items.id = prices.item_id
and prices.price = (
select min(price)
from prices
where item_id = items.id
)
);