Есть две таблицы: таблица A и таблица B. Они имеют одинаковые столбцы, и данные практически идентичны . Они оба имеют автоматически увеличивающиеся идентификаторы, единственное различие между ними состоит в том, что они имеют разные идентификаторы для одних и тех же записей.
Среди столбцов есть столбец IDENTIFIER, который не является уникальным , т. Е. Имеется (очень мало) записей с одинаковым IDENTIFIER в обеих таблицах.
Теперь, чтобы найти соответствие между идентификаторами таблицы A и идентификаторами таблицы B, Мне нужно объединить эти две таблицы (для всех целей это самостоятельное соединение) в ИДЕНТИФИКАТОРЕ. столбец, что-то вроде:
SELECT A.ID, B.ID
FROM A INNER JOIN B ON A.IDENTIFIER = B.IDENTIFIER
Но, поскольку IDENTIFIER не является уникальным, он генерирует все возможные комбинации повторяющихся значений IDENTIFIER, я не хочу этого.
В идеале я бы хотел сгенерировать однозначную связь между идентификаторами, которые имеют повторяющиеся значения IDENTIFIER , на основе их порядка. Например, предположим, что в таблице A (и, следовательно, в таблице B) есть шесть записей с разными идентификаторами и одинаковым значением IDENTIFIER:
A B
IDENTIFIER:'ident105', ID:10 -> IDENTIFIER:'ident105', ID:3
IDENTIFIER:'ident105', ID:20 -> IDENTIFIER:'ident105', ID:400
IDENTIFIER:'ident105', ID:23 -> IDENTIFIER:'ident105', ID:420
IDENTIFIER:'ident105', ID:100 -> IDENTIFIER:'ident105', ID:512
IDENTIFIER:'ident105', ID:120 -> IDENTIFIER:'ident105', ID:513
IDENTIFIER:'ident105', ID:300 -> IDENTIFIER:'ident105', ID:798
Это было бы идеально.
В любом случае, способ генерирования связи один-к-одному независимо от порядка идентификаторов все равно будет приемлемым (но не предпочтительным).
Спасибо за ваше время,
Silvio