Özer Cem KELAHMETKELAHMET
Articles · Concepts

Joining tables that share no key

Two systems hold the same customers. One has an email, a phone number, and a company. The other has a name, a differently formatted phone number, and a card type. There is no shared ID. Can they be joined?

The idea

Instead of requiring a key, read the values. A phone number written two ways is still a phone number. A name and an email can agree on the same person. A model that understands what a column is can align columns first, then match rows.

Four parts of the answer

  • Column alignment. Pairs of columns that carry the same attribute, each with a confidence and an example from the cells.
  • Entity matches. Pairs of rows judged to be the same record, with the attributes they agreed on.
  • A unified schema. Which columns are shared and which exist in only one source.
  • Unified rows. Joined records built from the original values, with the source of each column and each source's raw variant kept.

A proposal, not a merge

The map is reported only above a confidence threshold, and it is never applied automatically. When the sources disagree on something beyond formatting, the output flags a possible mis-alignment instead of silently choosing a side. A human or a downstream system decides what to accept.

Why provenance matters

Keeping the raw value from each source means you can always trace a joined cell back to where it came from. If a match turns out wrong, you can see why it was made.

Type to search.
    ↑↓ navigate↵ open