Я использую временные таблицы, потому что я не знаю, какой формат имеют ваши таблицы.
SELECT dbo.Roles.RoleName, dbo.UserRoles.RoleID
INTO #t1
FROM dbo.Roles LEFT OUTER JOIN
dbo.UserRoles ON dbo.Roles.RoleID = dbo.UserRoles.RoleID
WHERE (dbo.Roles.PortalID = 0) AND (dbo.UserRoles.UserID = 2)
Declare @RowData as nvarchar(2000)
Set @RowData = ( SELECT EditPermissions FROM vw_XMP_DMS_Documents where DocumentID = 2)
Select Data
INTO #t2
from dbo.split(@RowData, ',')
select case when exists (select 1 from #t1 where RoleName = t.Data) then 'yes' else 'no' end answer, Data
into #tmp
from #t2 t
select * from #tmp
Я не уверен на 100%, что вы хотите.Так что я думаю.
добавил это после понимания вопроса
if exists(select 1 from #t2 t2 join #t1 t1 on t1.RoleName = t2.data)
print 'permsGranted'
ELSE print 'permsNotGranted'