Първата ми мисъл е да подобря схемата и наистина ли трябва да направите това.
За да опростите въпроса, изглежда, че искате да зададете името на колоната въз основа на съединение към mstBCE. Нямате нужда от релация, защото броят на колоните в tblBCE е фиксиран. Вместо това използвайте динамичен sql, за да зададете имената на колоните, избирайки от mstBCE, завъртяни върху един ред.
DECLARE @sql nvarchar(4000);
SELECT @sql = N'SELECT u.[username], u.[department],
b.[Option1TB] as [' + pvt.[1] + N'], b.[Option1],
b.[Option2TB] as [' + pvt.[2] + N'], b.[Option2],
b.[Option3TB] as [' + pvt.[3] + N'], b.[Option3]
FROM tblBCE as b
JOIN tblUser as u ON b.[UserID] = u.[userid]; '
FROM (
SELECT [tabconfigid], [tabdata]
FROM mstBCE
WHERE [tabType] = N'BCE'
) as m
PIVOT ( MIN(m.[tabdata]) FOR m.[tabconfigid] IN ([1], [2], [3]) ) as pvt;
EXEC (@sql);