Это не действительно ужасно в Teradata, как предложил Тим, но все же более сложное:
SELECT
t1.case_no,
t1.activity,
t1.country,
t2.case_countries
FROM yourTable t1
INNER JOIN
(
SELECT case_no, activity,
Trim(Trailing ',' FROM XmlAgg(country||',' ORDER BY country) (VARCHAR(200))) AS case_countries
FROM
(
SELECT DISTINCT case_no, activity, country
FROM yourTable
) t2
GROUP BY 1,2
) t2
ON t1.case_no = t2.case_no
AND t1.activity = t2.activity;