Честно говоря, я просто не знаю, как это выразить, поэтому заранее извиняюсь.Хотелось бы найти правильный путь, а не полное решение, но я ценю любую помощь на всех.
У меня есть одна таблица, содержащая кодовые номера и тарифы, которые я фильтрую по состоянию и дате, например, для CA и 1/1/2018 :
И вторая таблица, содержащая номера компаний и множители, которые я также могу отфильтровать по состоянию и дате, например:
В Таблице 1, где для [Company] отображается «0», запись представляет значение «по умолчанию» для [Базовой] ставки
В Таблице 2, где для [Code] отображается «0»запись представляет значение «по умолчанию» для [Множителя], в частности [Company]
Поэтому объединение этих полей (где «0» - это значение по умолчанию) не представляется возможным.
Что яя пытаюсь сделать, это написать запрос, который для данного комбинированного состояния / даты выбирает:
- Все [Коды] и связанные с ними [Базовые] ставки из Таблицы Один
- Запись для каждой [Компании] из Таблицы 2 для каждого [Код], возвращенная выше
- [Множитель] для каждой [Компании], используяспецифичный [Code] [Multiplier], когда найдено совпадение [Code], и значение [Multiplier] по умолчанию, когда [Code] явно не упоминается в Таблице 2
Хотите создатьчто-то вроде этого:
Конечная цель - умножить [Base] на [Multiplier] и вернуть окончательное число для каждого кода в каждой компании.
Я не могу справиться со сценариями по умолчанию.Если [Код] явно указан в Таблице 2, это просто запрос простого выбора с использованием объединения в [Код].
Я предполагаю, что мне придется создавать отдельные запросы, один для явно упомянутых элементов и один для значений по умолчанию, и каким-то образом объединить их ... но я, честно говоря, понятия не имею, мой опыт SQLограничено простыми инструкциями SELECT по большей части.