Find Matching People in table based on similar values

  • Hello All,
    I'm trying to find a method that will run on Data-sets of 100K rows to a million efficiently and have a relatively good match output. I know that nothing will be 100% but the more accurate the better.

    I am looking for any clever, more efficient way than what i have so far.

    The people table should theoretically have only one row per person, however due to end user data entry we get data pollution. I need to find these potential duplicates and mark them with the corresponding matching PeopleID.
    In my attempt i was able to match two out of the 3 potential group matches, however i'm pretty sure this is not going to work on much larger data-sets and it may have issues i have yet to think about with this small data-set. The dirty data in this table is based off what i have seen in a real production environment. Fat fingerd DOB's, SSN's Last Name changes, First Name Variations

    Theoretically
    James, Jim, Jimmy is one person.
    Sarah and Sara is one person(She got married last name changed)
    Thomas and Same each one person.

    /***********************************
    4 unique People in the below table.

    ********************************************/
    CREATE TABLE #People
    (
    PeopleID INT IDENTITY (1,1) PRIMARY KEY
    ,FirstName VARCHAR(20)
    ,LastName VARCHAR(20)
    ,DateOfBirth DATE
    ,SSN VARCHAR(9)
    ,Gender CHAR(1)
    )

    INSERT INTO #People (FirstName, LastName, DateOfBirth, SSN, GENDER)

    VALUES
    ( 'Jim', 'Johnson', '01/05/1981', '12345689', 'M')
    ,( 'James', 'Johnson', '01/05/1980', '123456789', 'M')
    ,( 'Jimmy', 'Johnson', '01/05/1980', '123456789', 'M')
    ,( 'Sarah', 'Bellum', '12/31/1976', '999999999', 'F')
    ,( 'Sara', 'Gotmarried', '12/30/1976', '999999999', 'F')
    ,( 'Thomas', 'Dedupe', '08/21/1979', '000000000', 'M')
    ,( 'Sam', 'Query', '09/05/1985', '000000000', 'M');

    /*******************************************************
    MY weak attempt only find the Jimmy & Jim Match and the Sarah Match
    James is still missing and this is mostlikley very slow on a million row dataset.

    *********************************************************/
    WITH ConcatString
    AS
    (
    SELECT p1.PeopleID
    , p1.FirstName
    , p1.LastName
    , CONCAT(p1.firstName,' ', p1.LastName,' ', p1.DateOfBirth, ' ', p1.Gender, ' ', p1.SSN) AS RowString

    FROM #People p1
    )

    SELECT DISTINCT cs1.PeopleID, cs1.FirstName, cs1.LastName, cs2.PeopleID, cs2.FirstName, cs2.LastName
    FROM ConcatString cs1
    INNER JOIN ConcatString cs2 ON DIFFERENCE(cs1.RowString ,cs2.RowString) =4
    WHERE cs1.PeopleID <> cs2.PeopleID

    SELECT * FROM #People

    DROP TABLE #People

    ***SQL born on date Spring 2013:-)

  • As I've had to do this on many projects, I will share my past solutions.

    I use a table of about 4000 FirstName-NickName pairs to find likely equivalents.  Is there a way I can share this file?

    I take each row and look for possible matches to it since there could be several duplicates (many to many).

    I give each match a reliability rating.  For example SSN+LastName is close to 100% while FirstName+DOB might be 80%.

    I use Soundex matching but assign lower reliability ratings for those rows.

    You cannot catch transposition and spelling errors easily except by looking at other column matches which result in lower reliability ratings.

    My preference is to let users merge accounts based on human intelligence while processing my work queue.

    There are no shortcuts in life.

  • ChrisM@Work - Tuesday, June 19, 2012 3:32 AM

    Fuzzy matching generates a similarity index between two strings: try this and this. Cheers ChrisM


    [font="Arial"]Low-hanging fruit picker and defender of the moggies[/font]

    For better assistance in answering your questions, please read this[/url].


    Understanding and using APPLY, (I)[/url] and (II)[/url] Paul White[/url]

    Hidden RBAR: Triangular Joins[/url] / The "Numbers" or "Tally" Table: What it is and how it replaces a loop[/url] Jeff Moden[/url]

  • seems similar to this  https://www.sqlservercentral.com/Forums/1859349/Linking-rows-based-on-matching-fields

    ________________________________________________________________
    you can lead a user to data....but you cannot make them think
    and remember....every day is a school day

  • Bill Talada - Monday, February 20, 2017 11:51 AM

    As I've had to do this on many projects, I will share my past solutions.

    I use a table of about 4000 FirstName-NickName pairs to find likely equivalents.  Is there a way I can share this file?

    I take each row and look for possible matches to it since there could be several duplicates (many to many).

    I give each match a reliability rating.  For example SSN+LastName is close to 100% while FirstName+DOB might be 80%.

    I use Soundex matching but assign lower reliability ratings for those rows.

    You cannot catch transposition and spelling errors easily except by looking at other column matches which result in lower reliability ratings.

    My preference is to let users merge accounts based on human intelligence while processing my work queue.

    There are no shortcuts in life.

    I wish you could, i would love to have a table like that !

    ***SQL born on date Spring 2013:-)

  • Here are 3386 pairs of FirstName/NickNames


    Aaron,Erin
    Aaron,Ron
    Aaron,Ronnie
    Aaron,Ronny
    Abel,Ab
    Abel,Abe
    Abel,Abie
    Abel,Eb
    Abel,Ebbie
    Abiah,Ab
    Abiah,Abijah
    Abiah,Biah
    Abiel,Ab
    Abiel,Biel
    Abigail,Abbie
    Abigail,Abby
    Abigail,Gail
    Abigail,Nabby
    Abner,Ab
    Abner,Abbie
    Abraham,Abe
    Abraham,Abie
    Abraham,Bram
    Abram,Abe
    Ada,Adie
    Adaline,Ada
    Adaline,Addie
    Adaline,Addy
    Adaline,Aline
    Adaline,Delia
    Adaline,Dell
    Adaline,Della
    Adaline,Lena
    Adam,Ad
    Adam,Addie
    Adam,Addy
    Adam,Ade
    Adela,Addie
    Adela,Dell
    Adela,Della
    Adelaide,Addie
    Adelaide,Addy
    Adelaide,Adela
    Adelaide,Adele
    Adelaide,Dell
    Adelaide,Della
    Adelaide,Heidi
    Adelbert,Ad
    Adelbert,Ade
    Adelbert,Albert
    Adelbert,Bert
    Adelbert,Del
    Adelbert,Delbert
    Adele,Addie
    Adele,Dell
    Adele,Della
    Adelina,Addie
    Adelina,Aline
    Adelina,Dell
    Adelina,Della
    Adeline,Ada
    Adeline,Addie
    Adeline,Addy
    Adeline,Aline
    Adeline,Delia
    Adeline,Dell
    Adeline,Della
    Adeline,Lena
    Adelle,Addie
    Adelle,Dell
    Adelle,Della
    Adelphia,Addy
    Adelphia,Adele
    Adelphia,Dell
    Adelphia,Delphia
    Adelphia,Philly
    Adolph,Ad
    Adolph,Dolph
    Adolph,Olph
    Adolphus,Ad
    Adolphus,Dolph
    Adolphus,Olph
    Adrian,Ade
    Adriana,Adie
    Adrienne,Adie
    Agatha,Aggie
    Agatha,Aggy
    Agnes,Aggie
    Agnes,Aggy
    Agnes,Inez
    Agnes,Ness
    Agnes,Nessa
    Agnes,Nessie
    Aileen,Allie
    Aileen,Lena
    Alan,Al
    Alanson,Al
    Alanson,Alan
    Alanson,Lonson
    Albert,Adelbert
    Albert,Al
    Albert,Bert
    Albert,Bertie
    Albert,Elbert
    Alberta,Allie
    Alberta,Bert
    Alberta,Bertie
    Aldrich,Al
    Aldrich,Rich
    Aldrich,Richie
    Alexander,Al
    Alexander,Alec
    Alexander,Aleck
    Alexander,Alex
    Alexander,Eleck
    Alexander,Lex
    Alexander,Sander
    Alexander,Sandy
    Alexandra,Alex
    Alexandra,Alexa
    Alexandra,Ali
    Alexandra,Alix
    Alexandra,Alla
    Alexandra,Allie
    Alexandra,Lexy
    Alexandra,Sandra
    Alexandra,Sandy
    Alexandria,Alex
    Alexandria,Alexa
    Alexandria,Ali
    Alexandria,Alix
    Alexandria,Alla
    Alexandria,Allie
    Alexandria,Lexy
    Alexandria,Sandra
    Alexandria,Sandy
    Alexis,Alex
    Alfred,Al
    Alfred,Alf
    Alfred,Alfie
    Alfred,Fred
    Alfred,Freddie
    Alfred,Freddy
    Alfreda,Alfie
    Alfreda,Alfy
    Alfreda,Freda
    Alfreda,Freddie
    Alfreda,Freddy
    Alfreda,Frieda
    Algernon,Alger
    Algernon,Algie
    Algernon,Algy
    Alice,Ali
    Alice,Allie
    Alice,Ally
    Alice,Elsie
    Alice,Lisa
    Alicia,Ali
    Alicia,Allie
    Alicia,Ally
    Alicia,Elsie
    Alicia,Lisa
    Alisa,Ali
    Alisa,Allie
    Alisa,Ally
    Alisa,Elsie
    Alisa,Lisa
    Alison,Ali
    Alison,Allie
    Alison,Ally
    Alissa,Ali
    Alissa,Allie
    Alissa,Ally
    Alissa,Elsie
    Alissa,Lisa
    Allan,Al
    Allen,Al
    Allison,Ali
    Allison,Allie
    Allison,Ally
    Allyson,Ali
    Allyson,Allie
    Allyson,Ally
    Almena,Allie
    Almena,Mena
    Alonso,Al
    Alonso,Lon
    Alonso,Lonnie
    Alonso,Lonny
    Alonzo,Al
    Alonzo,Lon
    Alonzo,Lonnie
    Alonzo,Lonny
    Alonzo,Lonzo
    Althea,Thea
    Alvin,Al
    Alvin,Vin
    Alvin,Vinny
    Alvin,Win
    Alwin,Al
    Alwin,Vin
    Alwin,Vinny
    Alwin,Win
    Alwyn,Al
    Alwyn,Vin
    Alwyn,Vinny
    Alwyn,Win
    Alyce,Ali
    Alyce,Allie
    Alyce,Ally
    Alyce,Elsie
    Alyce,Lisa
    Alyson,Ali
    Alyson,Allie
    Alyson,Ally
    Alyssa,Ali
    Alyssa,Allie
    Alyssa,Ally
    Alyssa,Elsie
    Alyssa,Lisa
    Amabel,Mab
    Amabel,Mabbie
    Amabel,Mabel
    Amabel,Mabs
    Amanda,Manda
    Amanda,Mandy
    Amelia,Amy
    Amelia,Emily
    Amelia,Mel
    Amelia,Millie
    Amelia,Milly
    Anabel,Ann
    Anabel,Anna
    Anabel,Bel
    Anabel,Bell
    Anabel,Belle
    Anastasia,Ana
    Anastasia,Stacey
    Anastasia,Stacy
    Anderson,Ander
    Anderson,Andy
    Anderson,Sonny
    Andre,Andy
    Andrea,Andy
    Andreas,Andy
    Andres,Andy
    Andrew,Andy
    Andrew,Drew
    Angel,Angie
    Angela,Angie
    Angelica,Angie
    Angelina,Angie
    Angeline,Angie
    Anita,Ana
    Anita,Nita
    Ann,Annie
    Ann,Nan
    Ann,Nana
    Ann,Nance
    Ann,Nancie
    Ann,Nancy
    Ann,Nanette
    Ann,Nannette
    Ann,Nanny
    Ann,Nina
    Anna,Ann
    Anna,Annie
    Anna,Nan
    Anna,Nana
    Anna,Nance
    Anna,Nancie
    Anna,Nancy
    Anna,Nanette
    Anna,Nannette
    Anna,Nanny
    Anna,Nina
    Annabel,Ann
    Annabel,Anna
    Annabel,Bel
    Annabel,Bell
    Annabel,Belle
    Annabelle,Ann
    Annabelle,Anna
    Annabelle,Bel
    Annabelle,Bell
    Annabelle,Belle
    Anne,Ann
    Anne,Annie
    Anne,Nan
    Anne,Nana
    Anne,Nance
    Anne,Nancie
    Anne,Nancy
    Anne,Nanette
    Anne,Nannette
    Anne,Nanny
    Anne,Nina
    Annetta,Annie
    Annetta,Netta
    Annetta,Nettie
    Annetta,Netty
    Annette,Annie
    Annette,Netta
    Annette,Nettie
    Annette,Netty
    Anthony,Tony
    Antoinette,Ann
    Antoinette,Net
    Antoinette,Netta
    Antoinette,Nettie
    Antoinette,Netty
    Antoinette,Toi
    Antoinette,Toni
    Antoinette,Tony
    Antoinette,Toy
    Anton,Tony
    Antonia,Ann
    Antonia,Netta
    Antonia,Toni
    Antonia,Tonia
    Antonia,Tony
    Antonia,Tonya
    Antony,Tony
    Arabel,Bel
    Arabel,Bell
    Arabel,Bella
    Arabel,Belle
    Arabella,Ara
    Arabella,Arry
    Arabella,Bel
    Arabella,Bell
    Arabella,Bella
    Arabella,Belle
    Arabelle,Ara
    Arabelle,Arry
    Arabelle,Bel
    Arabelle,Bell
    Arabelle,Bella
    Arabelle,Belle
    Archibald,Arch
    Archibald,Archie
    Archibald,Baldie
    Archibald,Baldo
    Arleen,Arly
    Arleen,Lena
    Arleen,Lynn
    Arlene,Arly
    Arlene,Lena
    Arlene,Lynn
    Arline,Arly
    Arline,Lena
    Arline,Lynn
    Arlyne,Arly
    Arlyne,Lena
    Arlyne,Lynn
    Armena,Arry
    Armena,Mena
    Arnold,Arnie
    Aron,Ron
    Aron,Ronnie
    Aron,Ronny
    Arthur,Art
    Arthur,Artie
    Asahel,Asa
    Asaph,Asa
    Asenath,Assene
    Asenath,Natty
    Asenath,Sene
    Ashley,Ash
    Audrey,Dee
    August,Augie
    August,Gus
    August,Gussy
    August,Gust
    August,Gustus
    Augusta,Aggy
    Augusta,Augie
    Augusta,Gatsy
    Augusta,Gussie
    Augusta,Gusty
    Augusta,Ina
    Augusta,Tina
    Augustina,Aggy
    Augustina,Augie
    Augustina,Gatsy
    Augustina,Gussie
    Augustina,Gusty
    Augustina,Ina
    Augustina,Tina
    Augustine,Augie
    Augustine,August
    Augustine,Austin
    Augustine,Gus
    Augustine,Gussy
    Augustine,Gust
    Augustine,Gustus
    Augustus,Augie
    Augustus,August
    Augustus,Austin
    Augustus,Gus
    Augustus,Gussy
    Augustus,Gust
    Augustus,Gustus
    Aurora,Rori
    Azariah,Aze
    Azariah,Riah
    Baldwin,Baldie
    Baldwin,Win
    Barbara,Bab
    Barbara,Babbie
    Barbara,Babette
    Barbara,Babs
    Barbara,Barbie
    Barbara,Barby
    Barbara,Bobbie
    Barnabas,Barney
    Barnard,Barney
    Barnard,Barnie
    Barnard,Berney
    Barnard,Bernie
    Barrett,Barrie
    Barrett,Barry
    Bartholomew,Bart
    Bartholomew,Bartel
    Bartholomew,Bartlett
    Bartholomew,Bartley
    Bartholomew,Barty
    Bartholomew,Bat
    Bartholomew,Batty
    Bartholomew,Mees
    Bartholomew,Meus
    Basil,Basie
    Basil,Baz
    Beatrice,Bea
    Beatrice,Beattie
    Beatrice,Bee
    Beatrice,Trisha
    Beatrice,Trissie
    Beatrice,Trix
    Beatrice,Trixie
    Beatrix,Bea
    Beatrix,Beattie
    Beatrix,Bee
    Beatrix,Trissie
    Beatrix,Trixie
    Belinda,Bel
    Belinda,Bell
    Belinda,Belle
    Belinda,Lin
    Belinda,Linda
    Belinda,Lindy
    Belinda,Lynn
    Benedict,Ben
    Benedict,Bennie
    Benedict,Benny
    Benjamin,Ben
    Benjamin,Benjie
    Benjamin,Benjy
    Benjamin,Bennie
    Benjamin,Benny
    Benjamin,Jamie
    Bennet,Ben
    Bennet,Bennie
    Bennet,Benny
    Bennett,Ben
    Bennett,Bennie
    Bennett,Benny
    Berenice,Bernie
    Bernard,Barney
    Bernard,Barnie
    Bernard,Berney
    Bernard,Bernie
    Bernice,Bernie
    Berta,Bertie
    Bertha,Bert
    Bertha,Bertie
    Bertha,Birdie
    Beverley,Bev
    Beverly,Bev
    Bradford,Brad
    Bradford,Ford
    Bradley,Brad
    Branden,Brandy
    Brandon,Brandy
    Brenda,Brandy
    Brenda,Brendie
    Brenton,Brent
    Bridget,Biddie
    Bridget,Biddy
    Bridget,Bree
    Bridget,Bridey
    Bridget,Bridgie
    Bridget,Bridie
    Bridget,Brie
    Bridget,Brita
    Bridgette,Biddie
    Bridgette,Biddy
    Bridgette,Bree
    Bridgette,Bridey
    Bridgette,Bridie
    Bridgette,Brie
    Bridgette,Brita
    Brigid,Biddie
    Brigid,Biddy
    Brigid,Bree
    Brigid,Bridey
    Brigid,Bridie
    Brigid,Brie
    Brigid,Brita
    Brigit,Biddie
    Brigit,Biddy
    Brigit,Bree
    Brigit,Bridey
    Brigit,Bridie
    Brigit,Brie
    Brigit,Brita
    Britney,Brie
    Britney,Brit
    Britney,Brita
    Britney,Britt
    Brittany,Brie
    Brittany,Brit
    Brittany,Brita
    Brittany,Britt
    Brittney,Brie
    Brittney,Brit
    Brittney,Brita
    Brittney,Britt
    Broderick,Brady
    Broderick,Brodie
    Broderick,Brody
    Broderick,Rick
    Broderick,Ricky
    Burton,Burt
    Byron,Ron
    Byron,Ronnie
    Byron,Ronny
    Caleb,Cal
    Calvin,Cal
    Calvin,Vin
    Calvin,Vinny
    Cameron,Cam
    Cameron,Ron
    Cameron,Ronny
    Camila,Cammie
    Camila,Cammy
    Camila,Millie
    Camile,Cammie
    Camile,Cammy
    Camile,Millie
    Camilla,Cammie
    Camilla,Cammy
    Camilla,Millie
    Camille,Cammie
    Camille,Cammy
    Camille,Millie
    Candace,Candy
    Candice,Candy
    Caren,Carin
    Caren,Carrie
    Caren,Caryn
    Carin,Carrie
    Carla,Carlie
    Carla,Carly
    Carline,Caddie
    Carline,Caddy
    Carline,Callie
    Carline,Cally
    Carline,Carlie
    Carline,Carly
    Carline,Carol
    Carline,Carrie
    Carline,Carry
    Carline,Lin
    Carline,Lynn
    Carline,Lynne
    Carlota,Lotta
    Carlota,Lottie
    Carlota,Lotty
    Carlotta,Lotta
    Carlotta,Lottie
    Carlotta,Lotty
    Carlyne,Caddie
    Carlyne,Caddy
    Carlyne,Callie
    Carlyne,Cally
    Carlyne,Carlie
    Carlyne,Carly
    Carlyne,Carol
    Carlyne,Carrie
    Carlyne,Carry
    Carlyne,Lin
    Carlyne,Lynn
    Carlyne,Lynne
    Carol,Carrie
    Carol,Carry
    Carol,Cassie
    Carol,Lynn
    Carole,Carrie
    Carole,Carrol
    Carole,Carroll
    Carole,Carry
    Carole,Karol
    Carolina,Caddie
    Carolina,Caddy
    Carolina,Callie
    Carolina,Cally
    Carolina,Carlie
    Carolina,Carly
    Carolina,Carol
    Carolina,Carrie
    Carolina,Carry
    Carolina,Lin
    Carolina,Lynn
    Carolina,Lynne
    Caroline,Caddie
    Caroline,Caddy
    Caroline,Callie
    Caroline,Cally
    Caroline,Carlie
    Caroline,Carly
    Caroline,Carol
    Caroline,Carrie
    Caroline,Carry
    Caroline,Cassie
    Caroline,Lin
    Caroline,Lynn
    Caroline,Lynne
    Carolyn,Caddie
    Carolyn,Caddy
    Carolyn,Callie
    Carolyn,Cally
    Carolyn,Carlie
    Carolyn,Carly
    Carolyn,Carol
    Carolyn,Carrie
    Carolyn,Carry
    Carolyn,Cassie
    Carolyn,Lin
    Carolyn,Lynn
    Carolyn,Lynne
    Carrol,Carrie
    Carrol,Carroll
    Carrol,Carry
    Carrol,Karol
    Carroll,Carrie
    Carroll,Carry
    Carroll,Karol
    Casey,K.C.
    Casey,Kasey
    Caspar,Cas
    Caspar,Cass
    Casper,Cas
    Casper,Cass
    Cassandra,Casey
    Cassandra,Cass
    Cassandra,Cassey
    Cassandra,Cassie
    Cassandra,Sandra
    Cassandra,Sandy
    Cassius,Cas
    Cassius,Cass
    Catharine,Cassie
    Catharine,Cat
    Catharine,Cathie
    Catharine,Cathy
    Catharine,Cattie
    Catharine,Catty
    Catharine,Kit
    Catharine,Kittie
    Catharine,Kitty
    Catherine,Cassie
    Catherine,Cat
    Catherine,Cathie
    Catherine,Cathy
    Catherine,Cattie
    Catherine,Catty
    Catherine,Kathy
    Catherine,Katy
    Catherine,Kay
    Catherine,Kit
    Catherine,Kittie
    Catherine,Kitty
    Catherine,Lena
    Catherine,Trina
    Catheryn,Cassie
    Catheryn,Cat
    Catheryn,Cathie
    Catheryn,Cathy
    Catheryn,Cattie
    Catheryn,Catty
    Catheryn,Kit
    Catheryn,Kittie
    Catheryn,Kitty
    Cathleen,Cassie
    Cathleen,Cat
    Cathleen,Cathie
    Cathleen,Cathy
    Cathleen,Cattie
    Cathleen,Catty
    Cathleen,Kathy
    Cathleen,Katy
    Cathleen,Kay
    Cathleen,Kit
    Cathleen,Kittie
    Cathleen,Kitty
    Cathleen,Lena
    Cathleen,Trina
    Cathryn,Cassie
    Cathryn,Cat
    Cathryn,Cathie
    Cathryn,Cathy
    Cathryn,Cattie
    Cathryn,Catty
    Cathryn,Kit
    Cathryn,Kittie
    Cathryn,Kitty
    Cecelia,Celia
    Cecelia,Cissy
    Cecelia,Sissy
    Cecil,Cis
    Cecile,Celia
    Cecile,Cissy
    Cecile,Sissy
    Cecilia,Celia
    Cecilia,Cissy
    Cecilia,Sissy
    Cecillia,Celia
    Cecillia,Cissy
    Cecillia,Sissy
    Cecily,Celia
    Cecily,Cissy
    Cecily,Sissy
    Cedric,Ced
    Cedric,Rick
    Cedric,Ricky
    Celena,Lena
    Celena,Lina
    Celeste,Celie
    Celeste,Lessie
    Celestina,Celie
    Celestina,Lessie
    Celestina,Tina
    Celestine,Celie
    Celestine,Lessie
    Celestine,Tina
    Celia,Cel
    Celia,Celie
    Celina,Lena
    Celina,Lina
    Celine,Lena
    Celine,Lina
    Charity,Chattie
    Charity,Chatty
    Charity,Cherry
    Charles,Carl
    Charles,Charley
    Charles,Charlie
    Charles,Chas
    Charles,Chick
    Charles,Chuck
    Charlotte,Char
    Charlotte,Charlie
    Charlotte,Chattie
    Charlotte,Lola
    Charlotte,Lolita
    Charlotte,Lotta
    Charlotte,Lottie
    Charlotte,Lotty
    Charlotte,Sherry
    Chauncey,Chan
    Cheryl,Cherie
    Chester,Chet
    Christian,Chris
    Christian,Christy
    Christian,Kit
    Christiana,Chris
    Christiana,Chrissie
    Christiana,Christa
    Christiana,Christie
    Christiana,Christy
    Christiana,Crissy
    Christiana,Kit
    Christiana,Kris
    Christiana,Kristy
    Christiana,Tina
    Christina,Chris
    Christina,Chrissie
    Christina,Christa
    Christina,Christie
    Christina,Christy
    Christina,Crissy
    Christina,Kit
    Christina,Kris
    Christina,Kristy
    Christina,Tina
    Christine,Chris
    Christine,Chrissie
    Christine,Christa
    Christine,Christie
    Christine,Christy
    Christine,Crissy
    Christine,Kit
    Christine,Kris
    Christine,Kristy
    Christine,Tina
    Christopher,Chris
    Christopher,Christy
    Christopher,Cris
    Christopher,Kester
    Christopher,Kit
    Christopher,Kris
    Christopher,Kristof
    Christopher,Toph
    Christopher,Topher
    Chrystal,Chris
    Chrystal,Crys
    Cicely,Celia
    Cicely,Cissy
    Cicely,Sissy
    Clarence,Clair
    Clarence,Clare
    Clarice,Clair
    Clarice,Clara
    Clarice,Clare
    Clarinda,Clara
    Clarissa,Cissy
    Clarissa,Clair
    Clarissa,Clara
    Clarissa,Clare
    Claudia,Claudie
    Clayton,Clay
    Clement,Clem
    Clementina,Clem
    Clementina,Clemmie
    Clementina,Tina
    Clementine,Clem
    Clementine,Clemmie
    Clementine,Tina
    Clifford,Cliff
    Clifford,Ford
    Clifton,Cliff
    Clifton,Tony
    Clinton,Clint
    Colin,Col
    Colin,Cole
    Collen,Col
    Collen,Cole
    Collin,Col
    Collin,Cole
    Columbus,Clum
    Conrad,Con
    Conrad,Connie
    Conrad,Conny
    Constance,Connee
    Constance,Connie
    Constance,Conny
    Cora,Co
    Cora,Corey
    Cora,Cori
    Cora,Corrie
    Cora,Cory
    Cordelia,Cordy
    Cordelia,Cori
    Cordelia,Delia
    Corina,Cora
    Corina,Cori
    Corina,Corrie
    Corina,Cory
    Corine,Cora
    Corine,Cori
    Corine,Corrie
    Corine,Cory
    Corinna,Cora
    Corinna,Cori
    Corinna,Corrie
    Corinna,Cory
    Corinne,Cora
    Corinne,Cori
    Corinne,Corrie
    Corinne,Cory
    Cornelia,Connie
    Cornelia,Conny
    Cornelia,Cori
    Cornelia,Cornie
    Cornelia,Corny
    Cornelia,Nelia
    Cornelia,Nell
    Cornelia,Nelle
    Cornelia,Nellie
    Cornelia,Nelly
    Cornelius,Con
    Cornelius,Connie
    Cornelius,Conny
    Cornelius,Corney
    Cornelius,Corny
    Cornelius,Cory
    Cornelius,Niel
    Corrine,Cora
    Corrine,Cori
    Corrine,Corrie
    Corrine,Cory
    Corynne,Cora
    Corynne,Cori
    Corynne,Corrie
    Corynne,Cory
    Courtney,Court
    Courtney,Courtie
    Crystal,Chris
    Crystal,Crys
    Curtis,Curt
    Curtis,Kurt
    Cynthia,Cindy
    Cynthia,Cintha
    Cyrenius,Cene
    Cyrenius,Cy
    Cyrenius,Renius
    Cyrenius,Serene
    Cyrenius,Swene
    Cyril,Cy
    Cyrus,Cy
    Dalton,Dahl
    Dalton,Dal
    Daniel,Dan
    Daniel,Danny
    Daniela,Dani
    Daniela,Danny
    Danielle,Dani
    Danielle,Danny
    Daphne,Daph
    Daphne,Daphie
    Darleen,Darla
    Darleen,Lena
    Darlene,Darla
    Darlene,Darry
    Darlene,Lena
    Darlyne,Darla
    Darlyne,Lena
    Darrel,Darry
    Darrell,Darry
    Darryl,Darry
    Daryl,Darry
    David,Dave
    David,Davey
    David,Davie
    David,Davy
    David,Day
    Debora,Deb
    Debora,Debbie
    Debora,Debby
    Deborah,Deb
    Deborah,Debbie
    Deborah,Debby
    Deborah,Debra
    Delbert,Bert
    Delbert,Del
    Delia,Dell
    Delia,Della
    Deliverance,Della
    Deliverance,Delly
    Deliverance,Dilly
    Delores,Dee
    Delores,Dell
    Delores,Della
    Delores,Lola
    Delores,Lolita
    Delores,Lolly
    Denice,Denny
    Denis,Den
    Denis,Denny
    Denise,Denny
    Dennis,Den
    Dennis,Denny
    Dennison,Denny
    Derek,Derry
    Derek,Rick
    Derek,Ricky
    Derrick,Derry
    Derrick,Eric
    Derrick,Rick
    Derrick,Ricky
    Dexter,Dex
    Diana,Di
    Diane,Di
    Dianne,Di
    Dicey,Dicie
    Dina,Di
    Dinah,Di
    Dolores,Lola
    Dolores,Lolita
    Dominic,Dom
    Dominic,Nick
    Dominica,Minnie
    Dominica,Nicki
    Dominica,Nikki
    Dominick,Dom
    Dominick,Nick
    Dominique,Minnie
    Dominique,Nicki
    Dominique,Nikki
    Donald,Don
    Donald,Donnie
    Donald,Donny
    Dora,Dori
    Dora,Dorrie
    Dorcus,Darkey
    Doreen,Dorrie
    Dorene,Dorrie
    Doris,Dorrie
    Dorothea,Dee
    Dorothea,Dodie
    Dorothea,Doll
    Dorothea,Dolly
    Dorothea,Dora
    Dorothea,Dorrie
    Dorothea,Dot
    Dorothea,Dottie
    Dorothea,Dotty
    Dorothy,Dee
    Dorothy,Dodie
    Dorothy,Doll
    Dorothy,Dolly
    Dorothy,Dora
    Dorothy,Dorrie
    Dorothy,Dortha
    Dorothy,Dot
    Dorothy,Dottie
    Dorothy,Dotty
    Dorris,Dorrie
    Douglas,Doug
    Douglass,Doug
    Dustin,Dusty
    Earnest,Ernie
    Earnestine,Erna
    Earnestine,Ernie
    Earnestine,Tina
    Ebenezer,Eb
    Ebenezer,Ebbie
    Ebenezer,Eben
    Edgar,Ed
    Edgar,Eddie
    Edgar,Eddy
    Edgar,Ned
    Edith,Edie
    Edmund,Ed
    Edmund,Ned
    Edmund,Ted
    Edna,Eddie
    Edward,Ed
    Edward,Eddie
    Edward,Eddy
    Edward,Ned
    Edward,Ted
    Edward,Teddy
    Edwin,Ed
    Edwin,Eddie
    Edwin,Eddy
    Edwin,Ned
    Edwin,Win
    Edyth,Dee
    Edyth,Edie
    Edyth,Edye
    Edythe,Dee
    Edythe,Edie
    Edythe,Edye
    Eileen,Allie
    Eileen,Lena
    Elaine,Ellie
    Elaine,Elly
    Elaine,Lainie
    Elbert,Bert
    Elbert,Bertie
    Eleanor,Elaine
    Eleanor,Ella
    Eleanor,Ellen
    Eleanor,Ellie
    Eleanor,Elly
    Eleanor,Lallie
    Eleanor,Lally
    Eleanor,Lanna
    Eleanor,Lenora
    Eleanor,Nell
    Eleanor,Nellie
    Eleanor,Nelly
    Eleanor,Nora
    Eleazer,Lazar
    Elena,Ellie
    Elena,Elly
    Elena,Lala
    Elena,Lallie
    Elena,Lally
    Elena,Lena
    Elena,Nell
    Elena,Nellie
    Elena,Nelly
    Elenore,Ella
    Elenore,Ellie
    Elenore,Elly
    Elenore,Lallie
    Elenore,Lally
    Elenore,Nell
    Elenore,Nellie
    Elenore,Nelly
    Elenore,Nora
    Eleonora,Ella
    Eleonora,Ellie
    Eleonora,Elly
    Eleonora,Lallie
    Eleonora,Lally
    Eleonora,Nell
    Eleonora,Nellie
    Eleonora,Nelly
    Eleonora,Nora
    Eleonore,Ella
    Eleonore,Ellie
    Eleonore,Elly
    Eleonore,Lallie
    Eleonore,Lally
    Eleonore,Nell
    Eleonore,Nellie
    Eleonore,Nelly
    Eleonore,Nora
    Elias,Eli
    Elias,Lee
    Elias,Lias
    Elijah,Eli
    Elijah,Lige
    Elinor,Ella
    Elinor,Ellie
    Elinor,Elly
    Elinor,Lallie
    Elinor,Lally
    Elinor,Nell
    Elinor,Nellie
    Elinor,Nelly
    Elinor,Nora
    Eliphalet,Left
    Elisa,Elsie
    Elisabeth,Bess
    Elisabeth,Bessie
    Elisabeth,Bessy
    Elisabeth,Bet
    Elisabeth,Beth
    Elisabeth,Betsey
    Elisabeth,Betsi
    Elisabeth,Betsy
    Elisabeth,Bett
    Elisabeth,Betta
    Elisabeth,Bette
    Elisabeth,Bettie
    Elisabeth,Bettina
    Elisabeth,Betty
    Elisabeth,Elisa
    Elisabeth,Eliza
    Elisabeth,Ellie
    Elisabeth,Elly
    Elisabeth,Elsa
    Elisabeth,Elsie
    Elisabeth,Ilse
    Elisabeth,Libby
    Elisabeth,Lisa
    Elisabeth,Lisbet
    Elisabeth,Lise
    Elisabeth,Lisette
    Elisabeth,Liz
    Elisabeth,Liza
    Elisabeth,Lizbeth
    Elisabeth,Lizette
    Elisabeth,Lizzie
    Elisabeth,Lizzy
    Elise,Elsie
    Elisha,Eli
    Elisha,Lish
    Elisia,Elsie
    Elissa,Elsie
    Eliza,Elsie
    Elizabeth,Bess
    Elizabeth,Bessie
    Elizabeth,Bessy
    Elizabeth,Bet
    Elizabeth,Beth
    Elizabeth,Betsey
    Elizabeth,Betsi
    Elizabeth,Betsy
    Elizabeth,Bett
    Elizabeth,Betta
    Elizabeth,Bette
    Elizabeth,Bettie
    Elizabeth,Bettina
    Elizabeth,Betty
    Elizabeth,Elisa
    Elizabeth,Eliza
    Elizabeth,Ellie
    Elizabeth,Elly
    Elizabeth,Elsa
    Elizabeth,Elsie
    Elizabeth,Ilse
    Elizabeth,Lib
    Elizabeth,Libby
    Elizabeth,Lisa
    Elizabeth,Lisbet
    Elizabeth,Lise
    Elizabeth,Lisette
    Elizabeth,Liz
    Elizabeth,Liza
    Elizabeth,Lizbeth
    Elizabeth,Lizette
    Elizabeth,Lizzie
    Elizabeth,Lizzy
    Ella,Ellie
    Ella,Elly
    Ella,Nellie
    Ella,Nelly
    Ellen,Ella
    Ellen,Ellen
    Ellen,Ellie
    Ellen,Elly
    Ellen,Lala
    Ellen,Lallie
    Ellen,Lally
    Ellen,Lena
    Ellen,Nell
    Ellen,Nellie
    Ellen,Nelly
    Elliot,El
    Elliott,El
    Ellswood,Elsey
    Ellswood,Elsie
    Ellswood,Elze
    Elmer,El
    Elmira,Ellie
    Elmira,Elly
    Elmira,Mira
    Eloise,Lois
    Elouise,Lois
    Elouise,Louise
    Elsa,Elsie
    Elsie,Alice
    Elswood,Elsey
    Elswood,Elsie
    Elswood,Elze
    Elvin,El
    Elvin,Vin
    Elvin,Win
    Elvira,Elvie
    Elwin,El
    Elwin,Vin
    Elwin,Win
    Elwood,El
    Elwood,Woody
    Elwyn,El
    Elwyn,Vin
    Elwyn,Win
    Elyse,Elsie
    Emanuel,Mannie
    Emanuel,Manny
    Emanuel,Manuel
    Emeline,Em
    Emeline,Emily
    Emeline,Emma
    Emeline,Emmy
    Emeline,Milly
    Emery,Em
    Emil,Em
    Emile,Em
    Emilia,Em
    Emilia,Emmie
    Emilia,Emmy
    Emilia,Millie
    Emilia,Milly
    Emily,Em
    Emily,Emma
    Emily,Emmie
    Emily,Emmy
    Emily,Millie
    Emily,Milly
    Emma,Em
    Emma,Emm
    Emma,Emmie
    Emma,Emmy
    Emmanuel,Mannie
    Emmanuel,Manny
    Emmery,Em
    Emory,Em
    Epaphroditius,Dite
    Epaphroditius,Ditus
    Epaphroditius,Dyce
    Epaphroditius,Dyche
    Epaphroditius,Eppa
    Ephraim,Eph
    Eric,Rick
    Eric,Ricky
    Erica,Rickie
    Erica,Ricky
    Erick,Rick
    Erick,Ricky
    Ericka,Rickie
    Ericka,Ricky
    Erik,Rick
    Erik,Ricky
    Erika,Rickie
    Erika,Ricky
    Ernest,Ernie
    Ernestine,Erna
    Ernestine,Ernie
    Ernestine,Tina
    Ervin,Erv
    Ervin,Vin
    Ervin,Win
    Erwin,Erv
    Erwin,Vin
    Erwin,Win
    Estella,Essie
    Estella,Essy
    Estella,Stella
    Estelle,Essie
    Estelle,Essy
    Estelle,Stella
    Ester,Essie
    Ester,Ettie
    Ester,Etty
    Ester,Hettie
    Ester,Hetty
    Esther,Essie
    Esther,Esther
    Esther,Ettie
    Esther,Etty
    Esther,Hessy
    Esther,Hettie
    Esther,Hetty
    Ethel,Eth
    Eugene,Gene
    Eugenia,Gene
    Eugenia,Genie
    Eugenie,Gene
    Eugenie,Genie
    Eulalia,Eula
    Eulalia,Lallie
    Eulalia,Lally
    Eunice,Eunie
    Eunice,Euny
    Euphemia,Effie
    Euphemia,Effy
    Euphemia,Euphie
    Euphemia,Phemie
    Euphemie,Effie
    Euphemie,Effy
    Euphemie,Euphie
    Euphemie,Phemie
    Eustacia,Stacey
    Eustacia,Stacia
    Eustacia,Stacy
    Eva,Evie
    Evaline,Eva
    Evaline,Eve
    Evaline,Lena
    Evangelina,Angie
    Evangelina,Eve
    Evangelina,Evie
    Evangelina,Lynn
    Evangeline,Angie
    Evangeline,Eve
    Evangeline,Evie
    Evangeline,Lynn
    Eve,Evie
    Eveleen,Eve
    Eveleen,Evie
    Eveleen,Evvie
    Eveleen,Lynn
    Evelina,Eve
    Evelina,Evie
    Evelina,Evvie
    Evelina,Lynn
    Eveline,Eve
    Eveline,Evie
    Eveline,Evvie
    Eveline,Lynn
    Evelyn,Eve
    Evelyn,Evie
    Evelyn,Evvie
    Evelyn,Lynn
    Evelynne,Eve
    Evelynne,Evie
    Evelynne,Evvie
    Evelynne,Lynn
    Ezekiel,Ez
    Ezekiel,Zeke
    Ezra,Ez
    Fabian,Fab
    Fabian,Fabe
    Faith,Fae
    Faith,Fay
    Faith,Faye
    Felice,Fee
    Felice,Fel
    Felicia,Fee
    Felicia,Fel
    Felicity,Fee
    Felicity,Fel
    Ferdinand,Ferdie
    Ferdinand,Fred
    Ferdinand,Freddie
    Fernando,Ferdie
    Fernando,Fern
    Fidelia,Delia
    Florence,Flo
    Florence,Flora
    Florence,Florrie
    Florence,Floss
    Florence,Flossie
    Florence,Flossy
    Florence,Floy
    Floyd,Floy
    Floyd,Floy(seeLloyd)
    Floyd,Loy
    Frances,Cissy
    Frances,Fan
    Frances,Fannie
    Frances,Fanny
    Frances,Fran
    Frances,France
    Frances,Francie
    Frances,Francy
    Frances,Frankie
    Frances,Franky
    Frances,Frannie
    Frances,Franny
    Frances,Sis
    Francesca,Cesca
    Francesca,Fran
    Francine,Fan
    Francine,Fannie
    Francine,Fanny
    Francine,Fran
    Francine,France
    Francine,Francie
    Francine,Francy
    Francine,Frankie
    Francine,Franky
    Francine,Frannie
    Francine,Franny
    Francis,Fran
    Francis,Frank
    Francis,Frankie
    Francis,Franky
    Francisca,Cesca
    Francisca,Fran
    Francisco,Fran
    Francisco,Frank
    Francisco,Frankie
    Francisco,Franky
    Franklin,Fran
    Franklin,Frank
    Franklin,Frankie
    Franklin,Franky
    Franklyn,Frank
    Franklyn,Frankie
    Franklyn,Franky
    Frederic,Fred
    Frederic,Freddie
    Frederic,Freddy
    Frederic,Rick
    Frederic,Ricky
    Frederica,Freda
    Frederica,Freddie
    Frederica,Freddy
    Frederica,Rickie
    Frederica,Ricky
    Frederick,Fred
    Frederick,Freddie
    Frederick,Freddy
    Frederick,Fritz
    Frederick,Rick
    Frederick,Ricky
    Fredericka,Freda
    Fredericka,Freddie
    Fredericka,Freddy
    Fredericka,Frieda
    Fredericka,Ricka
    Fredericka,Rickie
    Fredericka,Ricky
    Frederika,Freda
    Frederika,Freddie
    Frederika,Freddy
    Frederika,Rickie
    Frederika,Ricky
    Fredric,Fred
    Fredric,Freddie
    Fredric,Freddy
    Fredric,Rick
    Fredric,Ricky
    Fredrick,Fred
    Fredrick,Freddie
    Fredrick,Freddy
    Fredrick,Rick
    Fredrick,Ricky
    Gabriel,Gabby
    Gabriel,Gabe
    Gabriela,Gabby
    Gabriela,Gabi
    Gabriela,Gaby
    Gabriella,Ella
    Gabriella,Gabby
    Gabriella,Gabi
    Gabriella,Gaby
    Gabrielle,Ella
    Gabrielle,Gabby
    Gabrielle,Gabi
    Gabrielle,Gaby
    Garret,Garry
    Garret,Gary
    Garrett,Garry
    Garrett,Gary
    Genevieve,Eve
    Genevieve,Gene
    Genevieve,Ginny
    Genevieve,Jean
    Genevieve,Jenny
    Genevieve,Viv
    Geoffrey,Geoff
    Geoffrey,Jeff
    George,Geordie
    George,Georgie
    Georgina,Georgie
    Georgina,Gina
    Georgine,Georgie
    Georgine,Gina
    Gerald,Gerry
    Gerald,Jerry
    Geraldine,Dina
    Geraldine,Gerri
    Geraldine,Gerrie
    Geraldine,Gerry
    Geraldine,Jerry
    Gerard,Gerry
    Gerard,Jerry
    Gertrude,Gert
    Gertrude,Gertie
    Gertrude,Trudie
    Gertrude,Trudy
    Gilbert,Bert
    Gilbert,Gil
    Gilbert,Wilber
    Gillian,Jill
    Gladys,Glad
    Glenda,Glen
    Gloria,Glory
    Grace,Gracie
    Gregor,Greg
    Gregor,Gregg
    Gregory,Greg
    Gregory,Gregg
    Griffin,Griff
    Griffith,Griff
    Gwendolen,Gwen
    Gwendolen,Gwenda
    Gwendolen,Wendy
    Gwendolyn,Gwen
    Gwendolyn,Gwenda
    Gwendolyn,Wendy
    Hanna,Ann
    Hanna,Annie
    Hanna,Nana
    Hanna,Nanny
    Hannah,Ann
    Hannah,Anna
    Hannah,Annie
    Hannah,Nan
    Hannah,Nana
    Hannah,Nanny
    Harold,Hal
    Harold,Harry
    Harriet,Hattie
    Harriet,Hatty
    Harvey,Harve
    Heather,Hettie
    Heather,Hetty
    Helaine,Ellie
    Helaine,Elly
    Helaine,Lainie
    Helen,Ella
    Helen,Ellen
    Helen,Ellie
    Helen,Elly
    Helen,Lala
    Helen,Lallie
    Helen,Lally
    Helen,Lena
    Helen,Nell
    Helen,Nellie
    Helen,Nelly
    Helena,Ellie
    Helena,Elly
    Helena,Lala
    Helena,Lallie
    Helena,Lally
    Helena,Lena
    Helena,Nell
    Helena,Nellie
    Helena,Nelly
    Helene,Ella
    Helene,Ellen
    Helene,Ellie
    Helene,Lena
    Heloise,Eloise
    Heloise,Lois
    Henrietta,Etta
    Henrietta,Ettie
    Henrietta,Etty
    Henrietta,Hank
    Henrietta,Hettie
    Henrietta,Hetty
    Henrietta,Nettie
    Henrietta,Netty
    Henrietta,Retta
    Henry,Hal
    Henry,Hank
    Henry,Harry
    Hephsibah,Hipsie
    Hepsibah,Hipsie
    Herbert,Bert
    Herbert,Bertie
    Herbert,Herb
    Herman,Mannie
    Herman,Manny
    Hermione,Hermie
    Hester,Essie
    Hester,Esther
    Hester,Ettie
    Hester,Etty
    Hester,Hessy
    Hester,Hettie
    Hester,Hetty
    Hezekiah,Hez
    Hezekiah,Hy
    Hezekiah,Kiah
    Hilary,Hill
    Hilary,Hillie
    Hilda,Hildie
    Hillary,Hill
    Hillary,Hillie
    Hiram,Hy
    Hopkins,Hop
    Hopkins,Hopp
    Horace,Horry
    Howard,Howie
    Hubert,Bert
    Hubert,Bertie
    Hubert,Hub
    Hubert,Hugh
    Hugh,Hughie
    Hugh,Hugo
    Hylda,Hildie
    Ignatius,Iggy
    Ignatius,Nace
    Ignatius,Nate
    Ignatius,Natius
    Immanuel,Mannie
    Immanuel,Manny
    Imogen,Immie
    Imogen,Immy
    Imogene,Immie
    Imogene,Immy
    Irene,Rena
    Irene,Renie
    Irvin,Erv
    Irvin,Vin
    Irvin,Win
    Irvine,Erv
    Irvine,Vin
    Irvine,Win
    Irving,Erv
    Irving,Vin
    Irving,Win
    Irwin,Erv
    Irwin,Vin
    Irwin,Win
    Isaac,Ike
    Isaac,Zeke
    Isaak,Ike
    Isabel,Bel
    Isabel,Bell
    Isabel,Bella
    Isabel,Belle
    Isabel,Ib
    Isabel,Issy
    Isabel,Nib
    Isabel,Nibby
    Isabel,Tibbie
    Isabella,Bel
    Isabella,Bell
    Isabella,Bella
    Isabella,Belle
    Isabella,Ib
    Isabella,Issy
    Isabella,Nib
    Isabella,Nibby
    Isabella,Tibbie
    Isabelle,Bel
    Isabelle,Bell
    Isabelle,Bella
    Isabelle,Belle
    Isabelle,Ib
    Isabelle,Issy
    Isabelle,Nib
    Isabelle,Nibby
    Isabelle,Tibbie
    Isador,Izzy
    Isadora,Dora
    Isadora,Issy
    Isadore,Izzy
    Isidor,Izzy
    Isidore,Izzy
    Jack,Jackie
    Jack,Jacky
    Jacob,Jaap
    Jacob,Jake
    Jacob,Jay
    Jacobus,Jaap
    Jacobus,Jacob
    Jacobus,Jake
    Jacobus,Jay
    Jacqueline,Jackie
    Jacqueline,Jacky
    Jacquelyn,Jackie
    Jacquelyn,Jacky
    James,Jamie
    James,Jem
    James,Jim
    James,Jimmie
    James,Jimmy
    Jane,Janet
    Jane,Janey
    Jane,Janie
    Jane,Jean
    Jane,Jen
    Jane,Jennie
    Jane,Jenny
    Jane,Jessie
    Janet,Jan
    Janet,Jessie
    Janet,Netta
    Janet,Nettie
    Janet,Netty
    Janetta,Jan
    Janetta,Netta
    Janetta,Nettie
    Janetta,Netty
    Janette,Jan
    Janette,Netta
    Janette,Nettie
    Janette,Netty
    Janice,Jan
    Janis,Jan
    Jason,Jay
    Jasper,Jay
    Jean,Jane
    Jean,Jeanie
    Jean,Jeannie
    Jeanette,Janet
    Jeanette,Jean
    Jeanette,Jeanie
    Jeanette,Jeannie
    Jeanette,Jessie
    Jeanette,Netta
    Jeanette,Nettie
    Jeanette,Netty
    Jeanne,Jane
    Jeanne,Jeanie
    Jeanne,Jeannie
    Jeannetta,Jeanie
    Jeannetta,Jeannie
    Jeannetta,Netta
    Jeannetta,Nettie
    Jeannetta,Netty
    Jeannette,Jeanie
    Jeannette,Jeannie
    Jeannette,Netta
    Jeannette,Nettie
    Jeannette,Netty
    Jedidiah,Jed
    Jefferson,Jeff
    Jefferson,Sonny
    Jeffery,Jeff
    Jeffrey,Geoff
    Jeffrey,Jeff
    Jehiel,Hiel
    Jemima,Jem
    Jemima,Jemma
    Jemima,Mima
    Jemima,Mimi
    Jenice,Jan
    Jennifer,Jen
    Jennifer,Jenne
    Jennifer,Jennie
    Jennifer,Jenny
    Jeremiah,Jereme
    Jeremiah,Jerry
    Jeremy,Jerry
    Jerome,Jerry
    Jesse,Jess
    Jesse,Jessie
    Jesse,Jessy
    Jessica,Jess
    Jessica,Jessie
    Jillian,Jill
    Joan,Jo
    Joan,Jody
    Joan,Nonie
    Joann,Jo
    Joann,Jody
    Joanna,Hannah
    Joanna,Jo
    Joanna,Joan
    Joanna,Jody
    Joanne,Jo
    Joanne,Jody
    Joceline,Jo
    Joceline,Lynn
    Jocelyn,Jo
    Jocelyn,Lynn
    Johanna,Jo
    Johanna,Jody
    Johannah,Hannah
    Johannah,Joan
    Johannah,Jody
    John,Jack
    John,Jackie
    John,Jacky
    John,Jock
    John,Johnny
    Jonathan,John
    Jonathan,Jon
    Jonathan,Jonny
    Jonathan,Nathan
    Joseph,Jo
    Joseph,Jody
    Joseph,Joe
    Joseph,Joey
    Joseph,Jos
    Josephine,Fina
    Josephine,Jo
    Josephine,Jody
    Josephine,Joey
    Josephine,Josey
    Josephine,Josie
    Josephine,Jozy
    Joshua,Jos
    Joshua,Josh
    Josiah,Jos
    Joyce,Joy
    Juanita,Nettie
    Juanita,Nita
    Judith,Jodie
    Judith,Jody
    Judith,Jude
    Judith,Judie
    Judith,Judy
    Judson,Jud
    Judson,Sonny
    Julia,Jill
    Julia,Jule
    Julia,Julie
    Julian,Jule
    Julian,Jules
    Juliana,Jule
    Juliana,Julie
    Julianne,Jule
    Julianne,Julie
    Julias,Jule
    Juliet,Jule
    Juliet,Julie
    Juliette,Jule
    Juliette,Julie
    Julius,Jule
    Julius,Jules
    Junior,JR
    Junior,June
    Junior,Junie
    Karen,Kari
    Karen,Karrie
    Karin,Kari
    Karin,Karrie
    Karol,Carrie
    Karol,Carry
    Karoline,Caddie
    Karoline,Caddy
    Karoline,Callie
    Karoline,Cally
    Karoline,Carlie
    Karoline,Carly
    Karoline,Carol
    Karoline,Carrie
    Karoline,Carry
    Karoline,Lin
    Karoline,Lynn
    Karoline,Lynne
    Karyn,Kari
    Karyn,Karrie
    Katharine,Kate
    Katharine,Kathie
    Katharine,Kathy
    Katharine,Katie
    Katharine,Kattie
    Katharine,Katty
    Katharine,Katy
    Katharine,Kay
    Katharine,Kit
    Katharine,Kittie
    Katharine,Kitty
    Katherine,Cassie
    Katherine,Cathy
    Katherine,Kate
    Katherine,Kathie
    Katherine,Kathy
    Katherine,Katie
    Katherine,Kattie
    Katherine,Katty
    Katherine,Katy
    Katherine,Kay
    Katherine,Kit
    Katherine,Kittie
    Katherine,Kitty
    Katherine,Lena
    Katherine,Trina
    Kathleen,Cassie
    Kathleen,Cathy
    Kathleen,Kathie
    Kathleen,Kathy
    Kathleen,Katie
    Kathleen,Kattie
    Kathleen,Katty
    Kathleen,Katy
    Kathleen,Kay
    Kathleen,Kit
    Kathleen,Kittie
    Kathleen,Lena
    Kathleen,Trina
    Kathlene,Kathie
    Kathlene,Kathy
    Kathlene,Katie
    Kathlene,Kattie
    Kathlene,Katty
    Kathlene,Katy
    Kathlyn,Kathie
    Kathlyn,Kathy
    Kathlyn,Katie
    Kathlyn,Kattie
    Kathlyn,Katty
    Kathlyn,Katy
    Kathlynne,Kathie
    Kathlynne,Kathy
    Kathlynne,Katie
    Kathlynne,Kattie
    Kathlynne,Katty
    Kathlynne,Katy
    Kathrine,Kate
    Kathrine,Kathie
    Kathrine,Kathy
    Kathrine,Katie
    Kathrine,Kattie
    Kathrine,Katty
    Kathrine,Katy
    Kathrine,Kay
    Kathrine,Kit
    Kathrine,Kittie
    Kathrine,Kitty
    Kathryn,Kate
    Kathryn,Kathie
    Kathryn,Kathy
    Kathryn,Katie
    Kathryn,Kattie
    Kathryn,Katty
    Kathryn,Katy
    Kathryn,Kay
    Kathryn,Kit
    Kathryn,Kittie
    Kathryn,Kitty
    Kathrynne,Kate
    Kathrynne,Kathie
    Kathrynne,Kathy
    Kathrynne,Katie
    Kathrynne,Kattie
    Kathrynne,Katty
    Kathrynne,Katy
    Kathrynne,Kay
    Kathrynne,Kit
    Kathrynne,Kittie
    Kathrynne,Kitty
    Katrina,Kate
    Katrina,Kathie
    Katrina,Kathy
    Katrina,Katie
    Katrina,Kattie
    Katrina,Katty
    Katrina,Katy
    Katrina,Kay
    Katrina,Kit
    Katrina,Kittie
    Katrina,Kitty
    Kelvin,Kel
    Kelvin,Kelly
    Kendall,Ken
    Kendall,Kenny
    Kendrick,Ken
    Kendrick,Kenny
    Kendrick,Kent
    Kendrick,Rick
    Kendrick,Ricky
    Kenneth,Ken
    Kenneth,Kenny
    Kent,Ken
    Kent,Kenny
    Kevin,Kev
    Keziah,Kizza
    Keziah,Kizzie
    Kimberley,Kim
    Kimberly,Kim
    Kimberly,Kimmie
    Kingsley,King
    Kingston,King
    Kristen,Kris
    Kristen,Krista
    Kristen,Kristi
    Kristen,Kristie
    Kristen,Kristy
    Kristin,Kris
    Kristin,Krista
    Kristin,Kristi
    Kristin,Kristie
    Kristin,Kristy
    Kristina,Kris
    Kristina,Krista
    Kristina,Kristi
    Kristina,Kristie
    Kristina,Kristy
    Kristine,Chris
    Kristine,Christy
    Kristine,Crissy
    Kristine,Kris
    Kristine,Krista
    Kristine,Kristi
    Kristine,Kristie
    Kristine,Kristy
    Kristine,Tina
    Kristofer,Chris
    Kristofer,Christy
    Kristofer,Cris
    Kristofer,Kester
    Kristofer,Kit
    Kristofer,Kris
    Kristofer,Kristof
    Kristofer,Toph
    Kristofer,Topher
    Kristopher,Chris
    Kristopher,Christy
    Kristopher,Cris
    Kristopher,Kester
    Kristopher,Kit
    Kristopher,Kris
    Kristopher,Kristof
    Kristopher,Toph
    Kristopher,Topher
    Kurtis,Curt
    Kurtis,Kurt
    Lafayette,Fate
    Lafayette,Laffie
    Lamont,Monte
    Lamont,Monty
    Lancelot,Lance
    Launcelot,Lance
    Laura,Lauri
    Laura,Laurie
    Laura,Lolly
    Laureen,Laurie
    Laurel,Laurie
    Lauren,Larry
    Lauren,Lars
    Lauren,Lawrie
    Laurena,Laurie
    Laurence,Larry
    Laurence,Lars
    Laurence,Laurie
    Laurence,Lawrie
    Laurence,Lon
    Laurence,Lonny
    Laurence,Lorne
    Laurence,Lorry
    Laurene,Laurie
    Laurinda,Laurie
    Laurinda,Lori
    Laurinda,Lorie
    Laurinda,Lorrie
    Laurine,Laurie
    Laverna,Verna
    Laverne,Verna
    Lavina,Ina
    Lavina,Vina
    Lavina,Viney
    Lavinia,Ina
    Lavinia,Vina
    Lavinia,Viney
    Lavinia,Vinnie
    Lawrence,Larry
    Lawrence,Lars
    Lawrence,Laurie
    Lawrence,Lawrie
    Lawrence,Lon
    Lawrence,Lonny
    Lawrence,Lorne
    Lawrence,Lorry
    Lemuel,Lem
    Lenora,Lee
    Lenora,Nora
    Lenore,Nora
    Leo,Lee
    Leon,Lee
    Leona,Lee
    Leonard,Len
    Leonard,Lennie
    Leonard,Lenny
    Leonard,Leo
    Leonard,Leon
    Leonard,Lineau
    Leonora,Nora
    Leonore,Nora
    Leopold,Leo
    Leopold,Poldie
    LeRoy,Lee
    LeRoy,Roy
    Lesley,Les
    Leslie,Les
    Lester,Les
    Leticia,Lettie
    Leticia,Tisha
    Letitia,Lettice
    Letitia,Lettie
    Letitia,Tish
    Letitia,Tisha
    Letitia,Titia
    Levi,Lee
    Lewis,Lew
    Lewis,Lewie
    Lidia,Lyddy
    Lili,Lil
    Lili,Lillie
    Lilian,Lil
    Lilian,Lili
    Lilian,Lilli
    Lilian,Lillie
    Lilian,Lilly
    Lilian,Lily
    Lillah,Lil
    Lillah,Lilly
    Lillah,Lily
    Lillah,Lolly
    Lilli,Lil
    Lilli,Lillie
    Lillian,Lil
    Lillian,Lili
    Lillian,Lilli
    Lillian,Lillie
    Lillian,Lilly
    Lillian,Lily
    Lillian,Lolly
    Lilly,Lil
    Lilly,Lillie
    Lily,Lil
    Lily,Lillie
    Lincoln,Lin
    Lincoln,Linc
    Lincoln,Link
    Lincoln,Lynn
    Linda,Lin
    Linda,Lindy
    Linda,Lynn
    Linda,Lynne
    Lloyd,Floy
    Lloyd,Loy
    Lora,Lori
    Lora,Lorie
    Lora,Lorri
    Lora,Lorrie
    Loraine,Lora
    Loraine,Lori
    Loraine,Lorie
    Loraine,Lorrie
    Loreen,Lori
    Loreen,Lorie
    Loreen,Lorri
    Loreen,Lorrie
    Loren,Larry
    Loren,Lars
    Loren,Laurie
    Loren,Lawrie
    Lorena,Lori
    Lorena,Lorie
    Lorena,Lorri
    Lorena,Lorrie
    Lorence,Larry
    Lorence,Lars
    Lorence,Laurie
    Lorence,Lawrie
    Lorene,Lori
    Lorene,Lorie
    Lorene,Lorri
    Lorene,Lorrie
    Lorenzo,Larry
    Lorenzo,Lars
    Lorenzo,Laurie
    Lorenzo,Lawrie
    Lorenzo,Loren
    Loretta,Etta
    Loretta,Lori
    Loretta,Lorrie
    Loretta,Retta
    Lorette,Etta
    Lorette,Lori
    Lorette,Lorrie
    Lorette,Retta
    Lorinda,Laurie
    Lorinda,Lori
    Lorinda,Lorie
    Lorinda,Lorrie
    Lorine,Lori
    Lorine,Lorie
    Lorine,Lorri
    Lorine,Lorrie
    Lorrain,Lora
    Lorrain,Lori
    Lorrain,Lorie
    Lorrain,Lorrie
    Lorraine,Lora
    Lorraine,Lori
    Lorraine,Lorie
    Lorraine,Lorrie
    Louis,Lou
    Louis,Louie
    Louisa,Eliza
    Louisa,Lois
    Louisa,Lou
    Louisa,Lu
    Louisa,Lula
    Louisa,Lulu
    Louise,Eliza
    Louise,Lois
    Louise,Lou
    Louise,Lu
    Louise,Lula
    Louise,Lulu
    Loyd,Floy
    Loyd,Loy
    Loyde,Floy
    Loyde,Loy
    Lucas,Luke
    Luci,Lu
    Luci,Luce
    Luci,Lucky
    Luci,Lulu
    Lucia,Lu
    Lucia,Luce
    Lucia,Lucky
    Lucia,Lulu
    Lucias,Luke
    Lucie,Lu
    Lucie,Luce
    Lucie,Lucky
    Lucie,Lulu
    Lucile,Lu
    Lucile,Lucky
    Lucile,Lucy
    Lucille,Cille
    Lucille,Lou
    Lucille,Lu
    Lucille,Lucky
    Lucille,Lucy
    Lucinda,Cindy
    Lucinda,Lou
    Lucinda,Lu
    Lucinda,Lucky
    Lucinda,Lucy
    Lucy,Lu
    Lucy,Luce
    Lucy,Lucky
    Lucy,Lulu
    Luella,Ella
    Luella,Lu
    Luella,Lula
    Luis,Lou
    Luis,Louie
    Luther,Luke
    Lydia,Liddy
    Lydia,Lyddie
    Lydia,Lyddy
    Lynda,Lin
    Lynda,Lindy
    Lynda,Lynn
    Lynda,Lynne
    Lyndon,Lindy
    Lyndon,Lynn
    Mabel,Mab
    Mabel,Mabbie
    Mabel,Mabs
    Mabelle,Mab
    Mabelle,Mabbie
    Mabelle,Mabs
    Mable,Mab
    Mable,Mabbie
    Mable,Mabs
    Madeleine,Maddie
    Madeleine,Maddy
    Madeleine,Mady
    Madeline,Lena
    Madeline,Maddie
    Madeline,Maddy
    Madeline,Madge
    Madeline,Mady
    Madeline,Magda
    Madeline,Maggie
    Madeline,Maida
    Madeline,Maud
    Madelyn,Maddie
    Madelyn,Maddy
    Madelyn,Mady
    Magdalen,Lena
    Magdalen,Magda
    Magdalen,Magsie
    Magdalena,Lena
    Magdalena,Magda
    Magdalena,Magsie
    Magdaline,Lena
    Magdaline,Magda
    Magdaline,Magsie
    Magdelina,Lena
    Magdelina,Madge
    Magdelina,Magda
    Mahala,Hallie
    Malcolm,Mac
    Malcolm,Mal
    Malcolm,Malc
    Manuel,Mannie
    Manuel,Manny
    Marcia,Marci
    Marcia,Marcie
    Marcia,Marcy
    Marcus,Marc
    Marcus,Mark
    Margaret,Daisy
    Margaret,Greta
    Margaret,Gretchen
    Margaret,Gretta
    Margaret,Madge
    Margaret,Mae
    Margaret,Maggie
    Margaret,Magsie
    Margaret,Maidie
    Margaret,Maisie
    Margaret,Mamie
    Margaret,Marge
    Margaret,Margery
    Margaret,Margie
    Margaret,Margo
    Margaret,Margot
    Margaret,Marjorie
    Margaret,May
    Margaret,Meg
    Margaret,Megan
    Margaret,Midge
    Margaret,Peg
    Margaret,Peggy
    Margaret,Rita
    Margaretta,Daisy
    Margaretta,Gretta
    Margaretta,Madge
    Margaretta,Maggie
    Margaretta,Marge
    Margaretta,Margery
    Margaretta,Margie
    Margaretta,Meg
    Margaretta,Midge
    Margaretta,Peg
    Margaretta,Peggy
    Margaretta,Rita
    Margarita,Daisy
    Margarita,Greta
    Margarita,Gretchen
    Margarita,Madge
    Margarita,Mae
    Margarita,Maggie
    Margarita,Magsie
    Margarita,Maidie
    Margarita,Maisie
    Margarita,Mamie
    Margarita,Marge
    Margarita,Margery
    Margarita,Margie
    Margarita,Margo
    Margarita,Margot
    Margarita,Marjorie
    Margarita,May
    Margarita,Meg
    Margarita,Megan
    Margarita,Peggy
    Margarita,Rita
    Margery,Marge
    Margery,Margie
    Margret,Daisy
    Margret,Greta
    Margret,Gretchen
    Margret,Madge
    Margret,Mae
    Margret,Maggie
    Margret,Magsie
    Margret,Maidie
    Margret,Maisie
    Margret,Mamie
    Margret,Marge
    Margret,Margery
    Margret,Margie
    Margret,Margo
    Margret,Margot
    Margret,Marjorie
    Margret,May
    Margret,Meg
    Margret,Megan
    Margret,Peggy
    Margret,Rita
    Marguerite,Daisy
    Marguerite,Greta
    Marguerite,Gretchen
    Marguerite,Madge
    Marguerite,Mae
    Marguerite,Maggie
    Marguerite,Magsie
    Marguerite,Maidie
    Marguerite,Maisie
    Marguerite,Mamie
    Marguerite,Marge
    Marguerite,Margery
    Marguerite,Margie
    Marguerite,Margo
    Marguerite,Margot
    Marguerite,Marjorie
    Marguerite,May
    Marguerite,Meg
    Marguerite,Megan
    Marguerite,Peggy
    Marguerite,Rita
    Marian,Ann
    Marian,Mary
    Marianna,Ann
    Marianna,Mary
    Marianne,Ann
    Marianne,Mary
    Maribel,Bell
    Maribel,Mary
    Maribelle,Bell
    Maribelle,Mary
    Mariett,Etta
    Mariett,Ettie
    Mariett,Etty
    Mariett,Mary
    Marietta,Etta
    Marietta,Ettie
    Marietta,Etty
    Marietta,Mary
    Mariette,Etta
    Mariette,Ettie
    Mariette,Etty
    Mariette,Mary
    Marilyn,Lynn
    Marilyn,Mary
    Marilynn,Lynn
    Marilynn,Mary
    Marjorie,Marge
    Marjorie,Margie
    Marjory,Marge
    Marjory,Margie
    Markus,Marc
    Markus,Mark
    Marlene,Lynn
    Marlene,Mary
    Marlyn,Lynn
    Marlyn,Mary
    Marta,Marty
    Marta,Mat
    Marta,Mattie
    Marta,Matty
    Marta,Pat
    Marta,Pattie
    Marta,Patty
    Martha,Marty
    Martha,Mat
    Martha,Mattie
    Martha,Matty
    Martha,Pat
    Martha,Patsy
    Martha,Pattie
    Martha,Patty
    Martin,Mart
    Martin,Marty
    Marvin,Marv
    Marvin,Merv
    Mary,Mae
    Mary,Mamie
    Mary,May
    Mary,Mimi
    Mary,Minnie
    Mary,Mitzi
    Mary,Moll
    Mary,Mollie
    Mary,Molly
    Mary,Polly
    Maryann,Ann
    Maryann,Mary
    Maryanne,Ann
    Maryanne,Mary
    Marylin,Lynn
    Marylin,Mary
    Mathilda,Mat
    Mathilda,Mattie
    Mathilda,Matty
    Mathilda,Maud
    Mathilda,Maude
    Mathilda,Pattie
    Mathilda,Patty
    Mathilda,Tilda
    Mathilda,Tillie
    Mathilda,Tilly
    Matilda,Mat
    Matilda,Mattie
    Matilda,Matty
    Matilda,Maud
    Matilda,Maude
    Matilda,Pattie
    Matilda,Patty
    Matilda,Tilda
    Matilda,Tillie
    Matilda,Tilly
    Matthew,Mat
    Matthew,Matt
    Matthew,Mattie
    Matthew,Matty
    Matthew,Thias
    Matthew,Thys
    Matthias,Matt
    Matthias,Thias
    Matthias,Thys
    Maud,Maudie
    Maud,Maudy
    Maude,Maudie
    Maude,Maudy
    Maureen,Maury
    Maurice,Morey
    Maurice,Morry
    Maximilian,Max
    Maxine,Max
    Maxine,Maxie
    Megan,Meg
    Mehitabel,Hetty
    Mehitabel,Hitty
    Mehitabel,Mabel
    Mehitabel,Mitty
    Melanie,Mel
    Melanie,Mellie
    Melicent,Millie
    Melicent,Milly
    Melinda,Linda
    Melinda,Lindy
    Melinda,Mel
    Melinda,Mellie
    Melinda,Mindy
    Melissa,Lisa
    Melissa,Lissa
    Melissa,Mel
    Melissa,Mellie
    Melissa,Milly
    Melissa,Missie
    Melissa,Missy
    Melvin,Mel
    Mercedes,Mercy
    Mercedes,Sadie
    Meredith,Merry
    Mervin,Marv
    Mervin,Merv
    Mervyn,Merv
    Michael,Micah
    Michael,Mick
    Michael,Mickey
    Michael,Micky
    Michael,Mike
    Michele,Mickey
    Michele,Shelly
    Michelle,Mickey
    Michelle,Shelly
    Mildred,Millie
    Mildred,Milly
    Milicent,Millie
    Milicent,Milly
    Millicent,Millie
    Millicent,Milly
    Millicent,Missy
    Milton,Milt
    Minerva,Minnie
    Miranda,Mandy
    Miranda,Mira
    Miranda,Randy
    Miriam,Mimi
    Miriam,Mitzi
    Mitchell,Mitch
    Mollie,Moll
    Mollie,Polly
    Molly,Moll
    Molly,Polly
    Monica,Nicki
    Montague,Monte
    Montague,Monty
    Montgomery,Gum
    Montgomery,Monte
    Montgomery,Monty
    Morris,Morey
    Morris,Morry
    Mortimer,Mort
    Mortimer,Morty
    Moses,Mo
    Moses,Moe
    Moses,Mose
    Moses,Moss
    Nadine,Dee
    Nadine,Nada
    Nancy,Nan
    Napoleon,Leon
    Napoleon,Nap
    Napoleon,Nappy
    Natalia,Nattie
    Natalia,Natty
    Natalie,Nattie
    Natalie,Natty
    Natalie,Nettie
    Natasha,Nattie
    Natasha,Natty
    Nathalie,Nattie
    Nathalie,Natty
    Nathan,Nat
    Nathan,Nate
    Nathaniel,Nat
    Nathaniel,Nate
    Nathaniel,Nathan
    Nathaniel,Natty
    Nathaniel,Than
    Nell,Nellie
    Nell,Nelly
    Nelle,Nellie
    Nelle,Nelly
    Nicholas,Claas
    Nicholas,Claes
    Nicholas,Cole
    Nicholas,Nick
    Nicholas,Nicky
    Nicholas,Nicol
    Nicolas,Cole
    Nicolas,Nick
    Nicolas,Nicky
    Nicolas,Nicol
    Nicole,Nicki
    Nicole,Nicky
    Nicole,Nikki
    Nicole,Nikky
    Norbert,Bert
    Norbert,Norby
    Norma,Normie
    Norman,Norm
    Obadiah,Diah
    Obadiah,Dyer
    Obadiah,Obed
    Obadiah,Obie
    Octavia,Tave
    Octavia,Tavia
    Octavia,Tavy
    Olive,Livia
    Olive,Livvy
    Olive,Nollie
    Olive,Ollie
    Olive,Olly
    Oliver,Noll
    Oliver,Nollie
    Oliver,Nolly
    Oliver,Ollie
    Olivia,Livia
    Olivia,Livvy
    Olivia,Nollie
    Olivia,Ollie
    Olivia,Olly
    Orlando,Lanny
    Orlando,Rollo
    Orlando,Rolly
    Oscar,Ossy
    Oswald,Ossy
    Oswald,Ozzie
    Oswald,Ozzy
    Oswald,Waldo
    Pamela,Pam
    Pamela,Pammie
    Pamela,Pammy
    Parmelia,Amelia
    Parmelia,Melia
    Parmelia,Milly
    Patience,Pat
    Patience,Patty
    Patricia,Pat
    Patricia,Patsy
    Patricia,Patti
    Patricia,Pattie
    Patricia,Patty
    Patricia,Tricia
    Patricia,Trish
    Patricia,Trisha
    Patricia,Trissie
    Patrick,Paddy
    Patrick,Pat
    Patrick,Pate
    Patrick,Patsy
    Patrick,Patty
    Patrick,Peter
    Paul,Pauly
    Paula,Lina
    Paula,Paulie
    Paula,Polly
    Paulina,Lina
    Paulina,Paulie
    Paulina,Polly
    Pauline,Paulie
    Pearl,Pearlie
    Peggy,Peg
    Pelegrine,Perry
    Penelope,Pen
    Penelope,Penny
    Percival,Percy
    Peter,Pate
    Peter,Pete
    Phebe,Pheb
    Philetus,Leet
    Philetus,Phil
    Philinda,Linda
    Philip,Phil
    Philip,Pip
    Phillip,Phil
    Phillip,Pip
    Phoebe,Pheb
    Phyllis,Phil
    Phyllis,Phyl
    Phyllis,Phyllie
    Prescott,Pres
    Prescott,Scott
    Prescott,Scotty
    Priscilla,Cilla
    Priscilla,Cissy
    Priscilla,Prissy
    Prudence,Pru
    Prudence,Prudie
    Prudence,Prudy
    Prudence,Prue
    Quentin,Quinn
    Quenton,Quinn
    Quincy,Quinn
    Quintin,Quinn
    Quinton,Quinn
    Rachel,Rachie
    Rachel,Rae
    Rachel,Ray
    Rachel,Shelly
    Rafael,Rafe
    Rafael,Raff
    Ralph,Rafe
    Randal,Rand
    Randal,Randy
    Randall,Rand
    Randall,Randy
    Randolph,Dolph
    Randolph,Rand
    Randolph,Randy
    Raphael,Rafe
    Raphael,Raff
    Raphael,Ralph
    Raquel,Kellie
    Raquel,Kelly
    Raymond,Ray
    Raymund,Ray
    Rebecca,Becca
    Rebecca,Beck
    Rebecca,Becky
    Rebecca,Reba
    Regina,Gina
    Regina,Ginny
    Regina,Ray
    Regina,Reggie
    Regina,Rena
    Reginald,Naldo
    Reginald,Reg
    Reginald,Reggie
    Reginald,Renny
    Reginald,Rex
    Relief,Leafa
    Renata,Nata
    Renata,Natie
    Renata,Renae
    Renata,Rennie
    Renata,Renny
    Reuben,Rube
    Reuben,Ruby
    Reynold,Ray
    Rhoda,Rodie
    Richard,Dick
    Richard,Dickon
    Richard,Rich
    Richard,Richie
    Richard,Rick
    Richard,Ricky
    Robert,Bert
    Robert,Bob
    Robert,Bobbie
    Robert,Bobby
    Robert,Dob
    Robert,Dobbin
    Robert,Hob
    Robert,Hobkin
    Robert,Rob
    Robert,Robbie
    Robert,Robby
    Robert,Robin
    Robert,Rupert
    Roberta,Bert
    Roberta,Berta
    Roberta,Bertie
    Roberta,Birdie
    Roberta,Bobbie
    Roberta,Bobby
    Roberta,Robbie
    Roberta,Robby
    Roberta,Robin
    Roberta,Robyn
    Roderic,Rick
    Roderic,Ricky
    Roderic,Rod
    Roderic,Roddy
    Roderick,Rick
    Roderick,Ricky
    Roderick,Rod
    Roderick,Roddy
    Rodger,Hodge
    Rodger,Rod
    Rodger,Roddy
    Rodger,Rodge
    Rodger,Roge
    Rodney,Rod
    Rodney,Roddy
    Roger,Hodge
    Roger,Rod
    Roger,Roddy
    Roger,Rodge
    Roger,Roge
    Roland,Lanny
    Roland,Rollo
    Roland,Rolly
    Roland,Roly
    Ronald,Naldo
    Ronald,Ron
    Ronald,Ronnie
    Ronald,Ronny
    Rosa,Rosie
    Rosa,Rosy
    Rosabel,Bell
    Rosabel,Belle
    Rosabel,Rosa
    Rosabel,Rose
    Rosabel,Rosie
    Rosabel,Rosy
    Rosabel,Roz
    Rosabella,Bell
    Rosabella,Belle
    Rosabella,Rosa
    Rosabella,Rose
    Rosabella,Rosie
    Rosabella,Rosy
    Rosabella,Roz
    Rosabelle,Bell
    Rosabelle,Rose
    Rosabelle,Rosie
    Rosabelle,Rosy
    Rosalee,Rose
    Rosalee,Rosie
    Rosalee,Rosy
    Rosalie,Rose
    Rosalie,Rosie
    Rosalie,Rosy
    Rosalind,Linda
    Rosalind,Rose
    Rosalind,Rosie
    Rosalind,Rosy
    Rosalinda,Linda
    Rosalinda,Rosa
    Rosalinda,Rose
    Rosalinda,Rosie
    Rosalinda,Rosy
    Rosalinda,Roz
    Rosaline,Rose
    Rosaline,Rosie
    Rosaline,Rosy
    Rosalyn,Linda
    Rosalyn,Rosa
    Rosalyn,Rose
    Rosalyn,Rosie
    Rosalyn,Rosy
    Rosalyn,Roz
    Rosanna,Rose
    Rosanna,Rosie
    Rosanna,Rosy
    Rosanne,Rose
    Rosanne,Rosie
    Rosanne,Rosy
    Roscoe,Ross
    Rose,Rosie
    Rose,Rosy
    Roseann,Ann
    Roseann,Rose
    Roseann,Rosie
    Roseann,Roz
    Roseanna,Ann
    Roseanna,Rose
    Roseanna,Rosie
    Roseanna,Rosy
    Roseanna,Roz
    Rosemarie,Rose
    Rosemarie,Rosie
    Rosemarie,Rosy
    Rosemary,Rose
    Rosemary,Rosie
    Rosemary,Rosy
    Roxana,Roxie
    Roxana,Roxy
    Roxanna,Ann
    Roxanna,Rose
    Roxanna,Roxie
    Roxanna,Roxy
    Roxanne,Ann
    Roxanne,Rose
    Roxanne,Roxie
    Roxanne,Roxy
    Ruben,Rube
    Ruben,Ruby
    Rubin,Rube
    Rubin,Ruby
    Rubina,Rubie
    Rubina,Ruby
    Ruby,Rubie
    Rudolf,Dolf
    Rudolf,Dolph
    Rudolf,Rolf
    Rudolf,Rolph
    Rudolf,Rudy
    Rudolph,Dolf
    Rudolph,Dolph
    Rudolph,Olph
    Rudolph,Rolf
    Rudolph,Rolph
    Rudolph,Rudy
    Rudolphus,Dolph
    Rudolphus,Olph
    Rudolphus,Rolf
    Rudolphus,Rudy
    Rupert,Robert
    Russel,Russ
    Russell,Russ
    Russell,Rusty
    Ruth,Ruthie
    Sabrina,Brina
    Sabrina,Sabby
    Samantha,Sam
    Samantha,Sammie
    Samantha,Sammy
    Sampson,Sam
    Sampson,Sammy
    Samson,Sam
    Samson,Sammy
    Samuel,Sam
    Samuel,Sammy
    Sandra,Alexandra
    Sandra,Sandy
    Sara,Sadie
    Sara,Sal
    Sara,Sallie
    Sara,Sally
    Sarah,Sadie
    Sarah,Sal
    Sarah,Sallie
    Sarah,Sally
    Scott,Scotty
    Sebastian,Bass
    Sebastian,Seb
    Selena,Lena
    Selena,Lina
    Selene,Lena
    Selene,Lina
    Selina,Lena
    Selina,Lina
    Serena,Rena
    Seymour,Morey
    Seymour,See
    Shelton,Shel
    Shelton,Shelly
    Shelton,Tony
    Sheridan,Dan
    Sheridan,Danny
    Sheridan,Sher
    Shirlee,Shirl
    Shirley,Lee
    Shirley,Sherry
    Shirley,Shirl
    Shirlie,Shirl
    Sibyl,Sib
    Sibyl,Sibbie
    Sibylle,Sib
    Sibylle,Sibbie
    Sidney,Sid
    Sidney,Syd
    Silas,Si
    Silvester,Syl
    Silvester,Vester
    Silvia,Syl
    Silvia,Sylvie
    Simeon,Si
    Simeon,Sim
    Simeon,Simie
    Simeon,Simmy
    Simeon,Sion
    Simon,Si
    Simon,Sim
    Simon,Simie
    Simon,Simmy
    Simon,Sion
    Smith,Smitty
    Solomon,Sal
    Solomon,Salmon
    Solomon,Saul
    Solomon,Sol
    Solomon,Solly
    Solomon,Zolly
    Sophia,Sophie
    Sophia,Sophy
    Stanley,Stan
    Stefan,Stef
    Stefan,Steff
    Stefan,Steph
    Stefan,Steve
    Stefan,Stevie
    Stefana,Steff
    Stefana,Steffy
    Stefana,Steph
    Stefana,Stephie
    Stefana,Stevie
    Stefania,Steff
    Stefania,Steffy
    Stefania,Steph
    Stefania,Stephie
    Stefania,Stevie
    Stefanie,Steff
    Stefanie,Steffy
    Stefanie,Steph
    Stefanie,Stephie
    Stefanie,Stevie
    Steffan,Stef
    Steffan,Steff
    Steffan,Steph
    Steffan,Steve
    Steffan,Stevie
    Steffanie,Steff
    Steffanie,Steffy
    Steffanie,Steph
    Steffanie,Stephie
    Steffanie,Stevie
    Stephan,Stef
    Stephan,Steff
    Stephan,Steph
    Stephan,Steve
    Stephan,Stevie
    Stephana,Steff
    Stephana,Steffy
    Stephana,Steph
    Stephana,Stephie
    Stephana,Stevie
    Stephania,Steff
    Stephania,Steffy
    Stephania,Steph
    Stephania,Stephie
    Stephania,Stevie
    Stephanie,Steff
    Stephanie,Steffy
    Stephanie,Steph
    Stephanie,Stephie
    Stephanie,Stevie
    Stephany,Steff
    Stephany,Steffy
    Stephany,Steph
    Stephany,Stephie
    Stephany,Stevie
    Stephen,Stef
    Stephen,Steff
    Stephen,Steph
    Stephen,Steve
    Stephen,Stevie
    Steven,Stef
    Steven,Steff
    Steven,Steph
    Steven,Steve
    Steven,Stevie
    Stewart,Stew
    Stewart,Stu
    Stuart,Stew
    Stuart,Stu
    Submit,Mitty
    Sullivan,Sully
    Sullivan,Van
    Susan,Hannah
    Susan,Sue
    Susan,Sukey
    Susan,Sukie
    Susan,Susi
    Susan,Susie
    Susan,Susy
    Susan,Suzie
    Susan,Suzy
    Susanna,Sue
    Susanna,Sukie
    Susanna,Susi
    Susanna,Susie
    Susanna,Susy
    Susanna,Suzie
    Susanna,Suzy
    Susannah,Hannah
    Susannah,Sue
    Susannah,Sukey
    Susannah,Sukie
    Susannah,Susi
    Susannah,Susie
    Susannah,Susy
    Susannah,Suzie
    Susannah,Suzy
    Susanne,Sue
    Susanne,Sukie
    Susanne,Susi
    Susanne,Susie
    Susanne,Susy
    Susanne,Suzie
    Susanne,Suzy
    Suzanne,Sue
    Suzanne,Sukie
    Suzanne,Susi
    Suzanne,Susie
    Suzanne,Susy
    Suzanne,Suzie
    Suzanne,Suzy
    Sybil,Sib
    Sybil,Sibbie
    Syble,Sib
    Syble,Sibbie
    Sydney,Sid
    Sydney,Syd
    Sylvester,Si
    Sylvester,Sly
    Sylvester,Sy
    Sylvester,Syl
    Sylvester,Vessie
    Sylvester,Vester
    Sylvester,Vet
    Sylvia,Syl
    Sylvia,Sylvie
    Tabitha,Tabby
    Tamar,Tammie
    Tamar,Tammy
    Tamara,Tammie
    Tamara,Tammy
    Terence,Terry
    Teresa,Teri
    Teresa,Terri
    Teresa,Terrie
    Teresa,Terry
    Teresa,Tess
    Teresa,Tessa
    Teresa,Tessie
    Teresa,Tracy
    Teresa,Trissie
    Terrance,Terry
    Terrence,Terry
    Thaddeus,Thad
    Theodore,Ted
    Theodore,Teddy
    Theodore,Theo
    Theresa,Teri
    Theresa,Terri
    Theresa,Terrie
    Theresa,Terry
    Theresa,Tess
    Theresa,Tessa
    Theresa,Tessie
    Theresa,Thirza
    Theresa,Thursa
    Theresa,Tracy
    Theresa,Trissie
    Therese,Teri
    Therese,Terri
    Therese,Terrie
    Therese,Terry
    Therese,Tess
    Therese,Tessa
    Therese,Tessie
    Therese,Tracy
    Therese,Trissie
    Thomas,Thom
    Thomas,Tom
    Thomas,Tommy
    Tiffany,Tiff
    Tiffany,Tiffy
    Timothy,Tim
    Timothy,Timmy
    Tobias,Bias
    Tobias,Toby
    Tryphena,Phena
    Tyler,Ty
    Uriah,Riah
    Ursula,Sulie
    Ursula,Ursa
    Ursula,Ursie
    Valentina,Val
    Valentina,Vallie
    Valentine,Feltie
    Valentine,Felty
    Valentine,Val
    Valeria,Val
    Valeria,Vallie
    Valerie,Val
    Valerie,Vallie
    Valery,Val
    Valery,Vallie
    Vanessa,Essa
    Vanessa,Nessa
    Vanessa,Van
    Vanessa,Vanna
    Vanessa,Vannie
    Vergil,Virge
    Vernon,Vern
    Veronica,Franky
    Veronica,Frony
    Veronica,Nicki
    Veronica,Nicky
    Veronica,Ron
    Veronica,Ronna
    Veronica,Ronni
    Veronica,Ronnie
    Veronica,Ronny
    Veronica,Vonnie
    Victor,Vic
    Victor,Vick
    Victoria,Vic
    Victoria,Vick
    Victoria,Vicki
    Victoria,Vickie
    Victoria,Vicky
    Victoria,Viki
    Victoria,Vikki
    Vincent,Vin
    Vincent,Vince
    Vincent,Vinny
    Vinson,Vin
    Vinson,Vince
    Vinson,Vinny
    Viola,Vi
    Violet,Lettie
    Violet,Vi
    Violetta,Lettie
    Violetta,Vi
    Violette,Lettie
    Violette,Vi
    Virgil,Virge
    Virginia,Ginger
    Virginia,Ginny
    Virginia,Jane
    Virginia,Jennie
    Virginia,Jenny
    Virginia,Jinny
    Virginia,Virgie
    Virginia,Virgy
    Vivian,Viv
    Vivien,Viv
    Wallace,Wally
    Walter,Wally
    Walter,Walt
    Wesley,Wes
    Wilber,Gilbert
    Wilber,Will
    Wilber,Willie
    Wilber,Willy
    Wilbur,Gilbert
    Wilbur,Will
    Wilbur,Willie
    Wilbur,Willy
    Wiley,Will
    Wiley,Willie
    Wiley,Willy
    Wilfred,Fred
    Wilfred,Freddie
    Wilfred,Freddy
    Wilfred,Will
    Wilfred,Willie
    Wilfred,Willy
    Wilfrid,Fred
    Wilfrid,Freddie
    Wilfrid,Freddy
    Wilfrid,Will
    Wilfrid,Willie
    Wilfrid,Willy
    Wilhelmina,Billie
    Wilhelmina,Mina
    Wilhelmina,Minnie
    Wilhelmina,Willa
    Wilhelmina,Willie
    Wilhelmina,Wilma
    Willard,Will
    Willard,Willie
    Willard,Willy
    William,Bela
    William,Bell
    William,Bill
    William,Billie
    William,Billy
    William,Will
    William,Willie
    William,Willy
    Willis,Bill
    Willis,Billie
    Willis,Billy
    Willis,Will
    Willis,Willie
    Willis,Willy
    Wilson,Will
    Wilson,Willie
    Wilson,Willy
    Winfield,Field
    Winfield,Win
    Winfield,Winny
    Winfred,Fred
    Winfred,Freddie
    Winfred,Freddy
    Winfred,Win
    Winfred,Winnie
    Winfred,Winny
    Winifred,Freda
    Winifred,Freddie
    Winifred,Winnet
    Winifred,Winnie
    Winston,Win
    Winston,Winnie
    Winston,Winny
    Woodrow,Drew
    Woodrow,Wood
    Woodrow,Woody
    Yvette,Vetta
    Yvette,Vettie
    Yvonne,Vonna
    Yvonne,Vonnie
    Zachariah,Zach
    Zachariah,Zachy
    Zachariah,Zack
    Zachariah,Zacky
    Zachariah,Zeke
    Zacharias,Zach
    Zacharias,Zack
    Zacharias,Zacky
    Zachary,Zach
    Zachary,Zack
    Zachary,Zacky
    Zebedee,Zeb
    Zedediah,Diah
    Zedediah,Dyer
    Zedediah,Zed
    Zephaniah,Zeph
    Zoey,Zoe

  • Bill thanks so much ! What a treasure to add to my warehouse. Thanks again !

    ***SQL born on date Spring 2013:-)

  • -- If two rows don't have at least one column value in common, then you can't reliably
    -- assume that they are the same person.
    -- Choose an equijoin column and a fuzzy join column. You may need to work with two or three
    -- similar queries as below. The equijoin cuts down on the number of fuzzy matches which
    -- have to be considered in any one query execution.
    -- Run the results into a temp table and compare by eye.
    -- Alter [Score %] to work best with your data.
    -- Without the filter p1.PeopleID > p2.PeopleID you get twice as many rows output
    -- because p1 is matched with p2, and p2 is matched with p1, i.e. duplicates.


    IF 0 = 1 BEGIN
     IF OBJECT_ID('tempdb..#People') IS NOT NULL DROP TABLE #People;
     CREATE TABLE #People (PeopleID INT IDENTITY (1,1) PRIMARY KEY,
      FirstName VARCHAR(20), LastName VARCHAR(20), DateOfBirth DATE, SSN VARCHAR(9), Gender CHAR(1))

     INSERT INTO #People  (FirstName, LastName, DateOfBirth, SSN, GENDER)
     VALUES
      ( 'Jim', 'Johnson', '01/05/1981', '12345689', 'M'),
      ( 'James', 'Johnson', '01/05/1980', '123456789', 'M'),
      ( 'Jimmy', 'Johnson', '01/05/1980', '123456789', 'M'),
      ( 'Jimmy', 'Jonson', '01/05/1980', '123456789', 'M'),
      ( 'Sarah', 'Bellum', '12/31/1976', '999999999', 'F'),
      ( 'Sara', 'Gotmarried', '12/30/1976', '999999999', 'F'),
      ( 'Thomas', 'Dedupe', '08/21/1979', '000000000', 'M'),
      ( 'Sam', 'Query', '09/05/1985', '000000000', 'M');
    END

    SELECT *, [Matchtype] = 2 -- Same LastName, very similar SSN
    FROM #People p1
    INNER JOIN #People p2
     ON p2.LastName = p1.LastName
     AND p1.PeopleID > p2.PeopleID
    CROSS APPLY [dbo].[IF_Levenshtein02] (p1.SSN,p2.SSN) x
    WHERE x.[Score %] >= 85
    -- Associates PeopleID's 1, 2 and 3

    SELECT *, [Matchtype] = 3 -- Same DOB, very similar LastName
    FROM #People p1
    INNER JOIN #People p2
     ON p2.DateOfBirth = p1.DateOfBirth
     AND p1.PeopleID > p2.PeopleID
    CROSS APPLY [dbo].[IF_Levenshtein02] (p1.LastName,p2.LastName) x
    WHERE x.[Score %] >= 75
    -- Associates PeopleID's 2, 3 and 4

    SELECT *, [Matchtype] = 1 -- Same SSN, very similar DOB
    FROM #People p1
    INNER JOIN #People p2
     ON p2.SSN = p1.SSN
     AND p1.PeopleID > p2.PeopleID
    CROSS APPLY [dbo].[IF_Levenshtein02] (CONVERT(VARCHAR(10),p1.DateOfBirth,103),CONVERT(VARCHAR(10),p2.DateOfBirth,103)) x
    WHERE x.[Score %] >= 90
    -- Associates PeopleID's 2, 3 and 4
    -- Associates PeopleID's 5 and 6

    -------------------------------------------------------------------------------------------------------

    Here's the function:
    /****** Object:  UserDefinedFunction [dbo].[IF_Levenshtein02]    Script Date: 21/02/2017 14:37:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- ChrisM 2013 or thereabouts
    -- this will score around 10,000 word pairs per second on 2010 laptop technology
    CREATE FUNCTION [dbo].[IF_Levenshtein02]
    (  
       @Reference VARCHAR(20), @Target VARCHAR(20)
    )
    RETURNS TABLE WITH SCHEMABINDING AS 
    RETURN
    ( -- output query

       SELECT [Score %] = CASE
       WHEN @Reference = @Target THEN CAST(100 AS NUMERIC(5,2))
       WHEN 0 = 1 THEN CAST(100 AS NUMERIC(5,2))            -- placeholder for any other shortcuts
       ELSE
          (SELECT
             [Score %] = CAST(SUM(LetterScore)*100.0/MAX(WordLength*WordLength) AS NUMERIC(5,2))
          FROM ( -- do
             SELECT 
                seq = t1.n,
                ref.Letter,
                v.WordLength,
                LetterScore = v.WordLength - ISNULL(MIN(tgt.n),v.WordLength)
             FROM ( -- v
                SELECT
                   Reference = LEFT(@Reference + REPLICATE('_',WordLength),WordLength),
                   Target = LEFT(@Target + REPLICATE('_',WordLength),WordLength),
                   WordLength = WordLength
                FROM ( -- di
                   SELECT WordLength = MAX(WordLength)
                   FROM (VALUES (DATALENGTH(@Reference)),(DATALENGTH(@Target))) d (WordLength)

                ) di
             ) v
             CROSS APPLY ( -- t1
                SELECT TOP(WordLength) n
                FROM (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20)) t2 (n)
             ) t1
             CROSS APPLY (SELECT Letter = SUBSTRING(Reference,t1.n,1)) ref
             OUTER APPLY ( -- tgt
                SELECT TOP(WordLength) n = ABS(t1.n - t2.n)
                FROM (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20)) t2 (n)
                WHERE SUBSTRING(@Target,t2.n,1) = ref.Letter
             ) tgt
             GROUP BY t1.n, ref.Letter, v.WordLength
          ) do
          )
       END

    ) -- output query

    “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail Shaw

    For fast, accurate and documented assistance in answering your questions, please read this article.
    Understanding and using APPLY, (I) and (II) Paul White
    Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden

  • I agree Chris, thats always been the hard part is finding a way to weight the matches. I agree that at lest one column needs to match. Taking a look at your function now testing it out. Thanks Again !

    ***SQL born on date Spring 2013:-)

  • ChrisM@Work - Tuesday, February 21, 2017 7:42 AM

    -- If two rows don't have at least one column value in common, then you can't reliably
    -- assume that they are the same person.
    -- Choose an equijoin column and a fuzzy join column. You may need to work with two or three
    -- similar queries as below. The equijoin cuts down on the number of fuzzy matches which
    -- have to be considered in any one query execution.
    -- Run the results into a temp table and compare by eye.
    -- Alter [Score %] to work best with your data.
    -- Without the filter p1.PeopleID > p2.PeopleID you get twice as many rows output
    -- because p1 is matched with p2, and p2 is matched with p1, i.e. duplicates.


    IF 0 = 1 BEGIN
     IF OBJECT_ID('tempdb..#People') IS NOT NULL DROP TABLE #People;
     CREATE TABLE #People (PeopleID INT IDENTITY (1,1) PRIMARY KEY,
      FirstName VARCHAR(20), LastName VARCHAR(20), DateOfBirth DATE, SSN VARCHAR(9), Gender CHAR(1))

     INSERT INTO #People  (FirstName, LastName, DateOfBirth, SSN, GENDER)
     VALUES
      ( 'Jim', 'Johnson', '01/05/1981', '12345689', 'M'),
      ( 'James', 'Johnson', '01/05/1980', '123456789', 'M'),
      ( 'Jimmy', 'Johnson', '01/05/1980', '123456789', 'M'),
      ( 'Jimmy', 'Jonson', '01/05/1980', '123456789', 'M'),
      ( 'Sarah', 'Bellum', '12/31/1976', '999999999', 'F'),
      ( 'Sara', 'Gotmarried', '12/30/1976', '999999999', 'F'),
      ( 'Thomas', 'Dedupe', '08/21/1979', '000000000', 'M'),
      ( 'Sam', 'Query', '09/05/1985', '000000000', 'M');
    END

    SELECT *, [Matchtype] = 2 -- Same LastName, very similar SSN
    FROM #People p1
    INNER JOIN #People p2
     ON p2.LastName = p1.LastName
     AND p1.PeopleID > p2.PeopleID
    CROSS APPLY [dbo].[IF_Levenshtein02] (p1.SSN,p2.SSN) x
    WHERE x.[Score %] >= 85
    -- Associates PeopleID's 1, 2 and 3

    SELECT *, [Matchtype] = 3 -- Same DOB, very similar LastName
    FROM #People p1
    INNER JOIN #People p2
     ON p2.DateOfBirth = p1.DateOfBirth
     AND p1.PeopleID > p2.PeopleID
    CROSS APPLY [dbo].[IF_Levenshtein02] (p1.LastName,p2.LastName) x
    WHERE x.[Score %] >= 75
    -- Associates PeopleID's 2, 3 and 4

    SELECT *, [Matchtype] = 1 -- Same SSN, very similar DOB
    FROM #People p1
    INNER JOIN #People p2
     ON p2.SSN = p1.SSN
     AND p1.PeopleID > p2.PeopleID
    CROSS APPLY [dbo].[IF_Levenshtein02] (CONVERT(VARCHAR(10),p1.DateOfBirth,103),CONVERT(VARCHAR(10),p2.DateOfBirth,103)) x
    WHERE x.[Score %] >= 90
    -- Associates PeopleID's 2, 3 and 4
    -- Associates PeopleID's 5 and 6

    -------------------------------------------------------------------------------------------------------

    Here's the function:
    /****** Object:  UserDefinedFunction [dbo].[IF_Levenshtein02]    Script Date: 21/02/2017 14:37:26 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- ChrisM 2013 or thereabouts
    -- this will score around 10,000 word pairs per second on 2010 laptop technology
    CREATE FUNCTION [dbo].[IF_Levenshtein02]
    (  
       @Reference VARCHAR(20), @Target VARCHAR(20)
    )
    RETURNS TABLE WITH SCHEMABINDING AS 
    RETURN
    ( -- output query

       SELECT [Score %] = CASE
       WHEN @Reference = @Target THEN CAST(100 AS NUMERIC(5,2))
       WHEN 0 = 1 THEN CAST(100 AS NUMERIC(5,2))            -- placeholder for any other shortcuts
       ELSE
          (SELECT
             [Score %] = CAST(SUM(LetterScore)*100.0/MAX(WordLength*WordLength) AS NUMERIC(5,2))
          FROM ( -- do
             SELECT 
                seq = t1.n,
                ref.Letter,
                v.WordLength,
                LetterScore = v.WordLength - ISNULL(MIN(tgt.n),v.WordLength)
             FROM ( -- v
                SELECT
                   Reference = LEFT(@Reference + REPLICATE('_',WordLength),WordLength),
                   Target = LEFT(@Target + REPLICATE('_',WordLength),WordLength),
                   WordLength = WordLength
                FROM ( -- di
                   SELECT WordLength = MAX(WordLength)
                   FROM (VALUES (DATALENGTH(@Reference)),(DATALENGTH(@Target))) d (WordLength)

                ) di
             ) v
             CROSS APPLY ( -- t1
                SELECT TOP(WordLength) n
                FROM (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20)) t2 (n)
             ) t1
             CROSS APPLY (SELECT Letter = SUBSTRING(Reference,t1.n,1)) ref
             OUTER APPLY ( -- tgt
                SELECT TOP(WordLength) n = ABS(t1.n - t2.n)
                FROM (VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20)) t2 (n)
                WHERE SUBSTRING(@Target,t2.n,1) = ref.Letter
             ) tgt
             GROUP BY t1.n, ref.Letter, v.WordLength
          ) do
          )
       END

    ) -- output query

    Yeah, I think this is going to work. I am now looking to see if i can Hybrid this with Bill's table on the first names as a Name to Alias counting as a match. Very cool stuff Thanks Chris !!

    ***SQL born on date Spring 2013:-)

  • thomashohner - Monday, February 20, 2017 11:25 AM

    Hello All,
    I'm trying to find a method that will run on Data-sets of 100K rows to a million efficiently and have a relatively good match output. I know that nothing will be 100% but the more accurate the better.

    Have you thought about buying a package, like Melissa Data, to do this task? Why re-invent the wheel?

    Please post DDL and follow ANSI/ISO standards when asking for help. 

Viewing 11 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic. Login to reply