Select * from [Address] where convert(varchar, [DBId]) + '-' + convert(varchar, [CompanyId]) + '-' + convert(varchar, [PersonId]) + '-' + [Name] + '-' + convert(varchar, [AddressTypeId]) + '-' + Format([StartDate], 'yyyyMMdd') in (Select convert(varchar, [DBId]) + '-' + convert(varchar, [CompanyId]) + '-' + convert(varchar, [PersonId]) + '-' + [Name] + '-' + convert(varchar, [AddressTypeId]) + '-' + Format([StartDate], 'yyyyMMdd') as [ResField] from [Address] Group by [DBId], [CompanyId], [PersonId], [Name], [AddressTypeId], [StartDate] having count(*) > 1)