Try as a possible query:
;with cte as (select a.[Fac],convert(varchar,b.fac_id + '-' + RIGHT('0000000000'+CAST(b.MRN AS VARCHAR(10)),10),50)
,surname+', '+given_names as name, count(*) over (partition by a.PK) as cntIds
from table1 a
left join table2 b
on a.[Fac] =convert(varchar,b.fac_id + '-' + RIGHT('0000000000'+CAST(b.MRN AS VARCHAR(10)),10),50))
select * from cte where cntIds > 1
order by [Fac]