Одним из возможных способов является использование коррелированного подзапроса, например:
select e.*, (select top 1 t.taxrate from taxrates t where t.to > e.salary order by t.to)
from employees e
Или использование between
:
select e.*, (select top 1 t.taxrate from taxrates t where e.salary between t.to and t.from)
from employees e
В качестве альтернативы вы можете использоватьleft join
следующим образом:
select e.*, t.taxrate
from employees e left join taxrates t on (e.salary between t.to and t.from)
Обратите внимание, что MS Access не может представлять этот тип объединения в представлении конструктора запросов (т. е. объединение с «вычисленными» критериями объединения, в отличие отк объединению с равными значениями полей), но это все еще допустимый SQL, который может быть успешно оценен ядром базы данных JET.
Во всем вышесказанном я предположил, что ваши таблицы называются Employees
& TaxRates
, замените их на соответствующие.