This will do it for you:--Creating TablesCreate Table Permission(permissionId int, permission varchar(20))Create Table UserPermissions(userId varchar(2), permissionId int)--Inserting Sample Data into Tables Insert Into PermissionSelect 1, 'SALES'union ALLSelect 2, 'PURCHASES'union ALLSelect 3, 'SALES RETURN'union ALLSelect 4, 'HR MANAGEMENT'Insert Into UserPermissionsSelect 'aa', 2 -- means user aa has permission to access sales pageUnion ALLSelect 'aa', 4Union ALLSelect 'bb', 1Union ALLSelect 'bb', 2 --as another example, bb has permission to access purchase pageUnion ALLSelect 'cc', 4--Query for your RequirementSelect a.Permission,Max(Case When b.UserId = 'aa' Then 'Y' Else '' End) as aa,Max(Case When b.UserId = 'bb' Then 'Y' Else '' End) as bb,Max(Case When b.UserId = 'cc' Then 'Y' Else '' End) as ccFrom Permission as aFull JOIN UserPermissions as b on a.permissionId = b.permissionIdGroup By a.permission
N 28° 33' 11.93148"E 77° 14' 33.66384"