Basically, don't store it like that: comma delimited data is a PITA to work with in SQL because it;'s string handling is ... um ... poor.
And because you want to find "1" or "5" in both "1" and "1, 5" you really don't want a CSV column.
Instead, have each role on a separate row:
FormName ROLE
1 1
2 1
3 5
4 1
4 5
And then use a JOIN to combine them. It all becomes a lot simpler to work with:
SELECT DISTINCT t2.FormName FROM Table2 t2
JOIN Table1 t1 ON t1.Role = t2.ROLE
WHERE t1.UID = 2