Каждая строка в моей таблице слева должна иметь только одно совпадение в таблице справа (правая таблица является основной таблицей со всеми строками в ней; левая таблица содержит только подмножество этих строк).Временные метки строк в каждой таблице не совпадают точно, но обычно они находятся в пределах 1 секунды друг от друга.Поэтому, когда я присоединяюсь к таблицам, я должен использовать:
FROM left_table INNER JOIN right_table
ON left_table.timestamp BETWEEN right_table.timestamp - .00015 AND right_table.timestamp + .00015
--This is approximately a 2 second wide range since this is a DATETIME field
AND left_table.name = right_table.name
AND ........
За исключением метки времени, все остальные критерии точно совпадают.Есть ли способ обойти это?
В большинстве случаев этого достаточно, чтобы вернуть только 1 строку, но иногда, когда в одной секунде находятся две одинаковые строки, они оба возвращаются.