По сути, задача такая же, как если бы мы выводили все товары в магазине, с условием, что товар может принадлежать сразу нескольким категориям. Не проверял, но мб близко.
SELECT `names`.`id`, `names`.`name` FROM `names` WHERE `names`
LEFT JOIN `tags_names` ON `names`.`id` = `tags_names`.`goods_id`
GROUP BY `names`.`id`