У меня есть три таблицы. Счет на покупку, налоговая зона, налоговая юрисдикция. Пример данных в изображении.
Каждая Счет-фактура содержит запись [Область налогообложения]. Каждая [Налоговая зона] состоит из нескольких [Кодов налоговой юрисдикции].
Налоговая юрисдикция * В каждой записи 1008 * есть [Дата вступления в силу] и [Налоговая ставка]. Когда [Налоговая ставка] изменяется для [Налогового кодекса юрисдикции], в Налоговая юрисдикция добавляется новая запись с тем же [Налоговым юрисдикционным кодом] и новой [Дата вступления в силу]. Старая запись остается с предыдущей [Дата вступления в силу].
На основании поля [Налоговая зона] в Счет на покупку мне необходимо вернуть сумму [Налоговая ставка] из Налоговая юрисдикция для каждого включенного уникального [Код налоговой юрисдикции] в соответствующем [Код налоговой зоны] в Налоговая зона . Однако [Налоговая ставка], возвращаемая для каждого уникального [Код налоговой юрисдикции], должна быть записью с самой последней [датой вступления в силу] для этого [Код налоговой юрисдикции], которая равна в или ранее [Дата публикации] ] с Счет на покупку .
Например, для выделенной записи на рис. 1 потребуется вернуть (1.9 + 3), поскольку это ставки для каждого [кода налоговой юрисдикции] в [код налоговой зоны] = "CO-DELTA", которые несут самая последняя [Дата вступления в силу], предшествующая [дате публикации] 12/23/2018.
На Рис. 2 выделенная запись содержит ту же [Налоговую область], но требует другой ставки, поскольку новые [Налоговые ставки] вступили в силу для тех же [Кодов налоговой юрисдикции].
Рис 1:
Рис 2:
Я в полной растерянности от того, как этого добиться. Любая помощь будет принята с благодарностью.