Declare @Sample Table(id int, Licence# varchar(10), LicenceMatch char(2), Email varchar(30), DoB date, DoBMatch date, DupeCount int);
Insert @Sample(id, Licence#, LicenceMatch, Email, DoB, DoBMatch, DupeCount) Values
(122474, 157741, 'OK', '1970tariq@gmail.com', '9/3/1970', '9/3/1970', 2),
(109972, 58118, NULL, '1970tariq@gmail.com', '9/3/1970', NULL, 2),
(125026, 191936, 'OK', '199inder@gmail.com', '2/23/1996', '2/23/1996', 2),
(125326, NULL, NULL, '199inder@gmail.com', '2/23/1996', NULL, 2),
(106462, 151289, 'OK', '6173926@gmail.com', '2/23/1969', '11/5/1975', 2),
(116153, 151789, 'OK', '6173926@gmail.com', '2/23/1969', '2/23/1969', 2),
(122114, 189591, 'OK', '7837gkaur@gmail.com', '3/26/1983', '3/26/1983', 2),
(122113, NULL, NULL, '7837gkaur@gmail.com', '3/26/1983', NULL, 2),
(126411, 193294, 'OK', 'zoheb97@gmail.com', '7/15/1997', '7/15/1997', 3),
(126409, NULL, NULL, 'zoheb97@gmail.com', '7/15/1997', NULL, 3),
(126410, NULL, NULL, 'zoheb97@gmail.com', '7/15/1997', NULL, 3);
;With cte As
(Select s.id, s.Email
From @Sample s
Where s.DOB = s.DOBMatch And s.LicenceMatch = 'OK')
Select c.id As Parent, s.id As Child
From cte c
Inner Join @Sample s On c.Email = s.Email
Where c.id <> s.id
Order By Parent, Child;
Tom