Isso retornará vários registros para um registro em Itens se houver vários registros de Preços para ele com o preço mínimo:
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
)
);