Кажется, я не могу найти вопрос, который конкретно отвечает требованиям того, что я пытаюсь сделать здесь, но извиняюсь, если это не так.
У меня есть пример таблицы:
type|start_date|end_date |cost|
bananas|2019-01-01|2019-01-31|100
bananas|2019-02-01|2019-02-28|95
juice |null |null |55
И так далее.Суть таблицы в том, что «еда» или что-то еще может быть другой ценой, основанной на другом временном диапазоне, однако есть некоторые предметы, например, сок, на которые не влияют изменения даты (т.е. они остаются постоянными).).
В другой таблице я хочу найти значение на основе диапазона дат в таблице выше.
Например:
customerId|transaction_date|item |quantity|
abc123 |2019-01-25 |bananas|4
abc126 |2019-02-06 |bananas|4
abc128 |2019-02-09 |juice |1
Итак, первые дваклиенты покупали бананы, но один в январе и один в феврале.Тогда другой клиент купил сок.Как я могу вернуть правильную соответствующую стоимость, основываясь на моей другой таблице.
Я пытался сделать, где дата BETWEEN
два, но это отталкивает любые другие даты, которые не существуют в таблице цен.Я также пытался использовать CASE
, чтобы подойти к этому, но безрезультатно.
Каков наилучший подход к этому?
Я ожидаю, что результат приведет к объединенной таблицесо следующим:
customerId|transaction_date|item |quantity|cost|
abc123 |2019-01-25 |bananas|4 |100
abc126 |2019-02-06 |bananas|4 |95
abc128 |2019-02-09 |juice |1 |55
Где к столбцу cost
присоединяются вышеуказанные критерии?