I would like to append non-matching fields from other records to the current record's field.
The first field of each record is a group ID. Every person is matched with someone who is not in their group ID. All possible matches are needed.
For example, given names.db
:
1 Nikola Tesla
1 Pierre-Simon Laplace
1 Oliver Heaviside
2 James Watson
2 Francis Crick
3 Kanye West
4 Michael Faraday
4 Lord Rayleigh
turns into:
Nikola Tesla -> James Watson
Nikola Tesla -> Francis Crick
Nikola Tesla -> Kanye West
Nikola Tesla -> Michael Faraday
Nikola Tesla -> Lord Rayleigh
Pierre-Simon Laplace -> James Watson
Pierre-Simon Laplace -> Francis Crick
Pierre-Simon Laplace -> Kanye West
Pierre-Simon Laplace -> Michael Faraday
Pierre-Simon Laplace -> Lord Rayleigh
Oliver Heaviside -> James Watson
Oliver Heaviside -> Francis Crick
Oliver Heaviside -> Kanye West
Oliver Heaviside -> Michael Faraday
Oliver Heaviside -> Lord Rayleigh
James Watson -> Nikola Tesla
James Watson -> Pierre-Simon Laplace
James Watson -> Oliver Heaviside
James Watson -> Kanye West
James Watson -> Michael Faraday
James Watson -> Lord Rayleigh
Francis Crick -> Nikola Tesla
Francis Crick -> Pierre-Simon Laplace
Francis Crick -> Oliver Heaviside
Francis Crick -> Kanye West
Francis Crick -> Michael Faraday
Francis Crick -> Lord Rayleigh
Kanye West -> Pierre-Simon Laplace
Kanye West -> James Watson
Kanye West -> Oliver Heaviside
Kanye West -> Francis Crick
Kanye West -> Michael Faraday
Kanye West -> Nikola Tesla
Kanye West -> Lord Rayleigh
Michael Faraday -> Nikola Tesla
Michael Faraday -> Pierre-Simon Laplace
Michael Faraday -> Oliver Heaviside
Michael Faraday -> James Watson
Michael Faraday -> Francis Crick
Michael Faraday -> Kanye West
Lord Rayleigh -> Nikola Tesla
Lord Rayleigh -> Pierre-Simon Laplace
Lord Rayleigh -> Oliver Heaviside
Lord Rayleigh -> James Watson
Lord Rayleigh -> Francis Crick
Lord Rayleigh -> Kanye West