Для правильного вопроса надо знать половину ответа
Для произвольного количества сайтов - никак, только получать все данные и обрабатывать в приложении.
Для фиксированного - делать подвыборки из таблицы по сайтам и JOIN'ить их между собой.
SELECT `names`.`name`, `site1`.`price`, `site2`.`price`, ...
FROM (
SELECT DISTINCT `name` FROM `table`
) AS `names`
LEFT JOIN (
SELECT `name`, `price` FROM `table` WHERE `site` = :site1
) AS `site1` USING(`name`)
LEFT JOIN (
SELECT `name`, `price` FROM `table` WHERE `site` = :site2
) AS `site2` USING(`name`)
...