これがGROUP_CONCATを使用して探しているものだと思います :
SELECT
source.product,
GROUP_CONCAT(cat.category) cats
FROM cat
JOIN source on source.product = cat.product
GROUP BY source.product
各カテゴリの間に「、」を入れようとしている場合は、SEPARATORを使用してください GROUP_CONCATを使用 。例:
GROUP_CONCAT(cat.category separator ', ')