У меня есть две таблицы в SQL, которые выглядят так:
Таблица 1:
ID TaxYear Earnings
01 2000 2234
01 2001 123
02 2004 12344
02 2006 234
02 2007 0
02 2008 123
Таблица 2:
ID JobEnd
01 1998
02 2000
02 2007
Мне нужно объединить эти таблицы, чтобы создать новый столбец с указанием количества лет между TaxYear и JobEnd. Однако мне нужно, чтобы это значение сбрасывалось каждый раз, когда TaxYear пропускает новый год JobEnd. Итак, мой финальный стол будет выглядеть так:
ID TaxYear Earnings YearsSinceJobEnd
01 2000 2234 2
01 2001 123 3
02 2004 12344 4
02 2006 234 6
02 2007 0 7
02 2008 123 1
Для идентификатора 02, когда YearsSinceJobEnd рассчитывается как TaxYear минус 2000, до тех пор, пока TaxYear не пройдет новый год JobEnd 2007, когда он впоследствии будет рассчитан как TaxYear минус 2007.
Я очень растерялся из-за того, как это сделать. Если я присоединяюсь к таблицам, я получаю несколько столбцов на TaxYear, которых мне следует избегать. Но я не могу думать, как рассчитать новый столбец, не присоединяясь к ним.
Любая помощь будет высоко ценится.