<?php
$sql = "select p.id, p.name product, pp.price, s.name shop from user_interests ui
join products p on p.id=ui.product_id
join product_prices pp on pp.product_id=ui.product_id
join shops s on s.id=pp.shop_id
where ui.user_id=1
order by p.id,s.id";
$data = $pdo->query($sql)->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);
foreach ($data as $product) {
echo $product[0]['product'],"\n";
foreach ($product as $row) {
echo "\t$row[price] $row[shop]\n";
}
}