«Ровно равная дата» будет объединением в поле даты.(Как в ответе Эша)
«Ближайшая дата», вероятно, должна читаться как «ближайшая дата в будущем» или «ближайшая дата в прошлом» (или, возможно, нет).В этом случае вы можете использовать подзапрос с оператором WHERE, сравнивающим даты (<или>)
Если «ближайшая дата» есть и в прошлом, и в настоящем, я, вероятно, закодирую ее, написав хранимую процедуру, котораясоздает вспомогательную таблицу, содержащую наиболее релевантную «близкую дату» (из B) для каждой даты в таблице А. Таким образом, я бы лучше контролировал поведение процедуры, и в будущем это было бы легче изменить.
Оптимизация производительности всегда может произойти позже.