Я пытаюсь найти решение для следующей проблемы, которую я имею в sql-server:
У меня есть одна таблица t1 , из которой я хочу использовать каждую дату для каждого агентстваи зациклите его на запросе, чтобы узнать значение avg_rate.Вот моя таблица t1:
Таблица T1:
+--------+-------------+
| agency | end_date |
+--------+-------------+
| 1 | 2017-10-01 |
| 2 | 2018-01-01 |
| 3 | 2018-05-01 |
| 4 | 2012-01-01 |
| 5 | 2018-04-01 |
| 6 | 2017-12-01l |
+--------+-------------+
Я буквально хочу использовать все значения в столбце end_date и вставить его в запрос здесь (я пометил его ***):
with averages as (
select a.id as agency
,c.rate
, avg(c.rate) over (partition by a.id order by a.id ) as avg_cost
from table_a as a
join rates c on a.rate_id = c.id
and c.end_date = **here I use all values from t1.end_date**
and c.Start_date = **here I use all values from above minus half a year** = dateadd(month,-6,end_date)
group by a.id
,c.rate
)
select distinct agency, avg_cost from averages
order by 1
Причина, по которой мне нужны две динамические даты, заключается в том, что значения avg_rate меняются, если вы меняете временной интервал между этими датами.
Моя проблема и мой вопрос:
Как вы можете взять end_date из таблицы t1, вставить его в запрос, где находится c.end_date, и пройти через все значения в t1.end_date?
Я ценю вашу помощь!