Как запросить из БД несколько картинок для одного товара?
Какой смысл делать хранимку для таких простых запросов?
Зачем делать JOIN с таблицей `category`, которая не используется в результате.SELECT `g`.`id`, `g`.`name`, `g`.`description`, `g`.`price`, `i`.`images`
  FROM `goods` AS `g`
  LEFT JOIN (
    SELECT `good_id`, GROUP_CONCAT(`link` SEPARATOR ',') AS `images`
    FROM `images`
    GROUP BY `good_id`
  ) AS `i` ON `i`.`good_id` = `g`.`id`
  WHERE  `g`.`id_category` = :category
  ORDER BY `g`.`id` DESC;
Я бы создал для каждого товара папку с именем в виде ID товара  и просто  получал  бы список файлов из заданного каталога. Т.е база данных вообще не использовалась бы для хранения ссылок на картинки.