2016-07-05 6 views
1

У меня есть две таблицы, которые непосредственно не связаны между собой, как ...Обновление столбца таблицы на основе значения другой таблицы, которые не связаны в SQL Server 2008

Таблица 1

VoucherId | VoucherDate 
-----------+------------- 
V001  | 2014-12-09 
V002  | 2016-01-10 

Таблица 2

FinYearRef | FromDate | ToDate 
-----------+------------+----------- 
Y01  | 2014-07-01 | 2015-06-30 
Y02  | 2015-07-01 | 2016-06-30 

Теперь я добавить столбец FRef в Таблица 1

Я хочу, чтобы обновить эту FRef столбец по FinYearRef из таблицы 2, где Table1.VoucherDate между Table2.FromDate и Table2.ToDate

ответ

0

Обновление с Регистрация:

UPDATE T1 
SET T1.FRef = T2.FinYearRef 
FROM TABLE1 T1 
JOIN TABLE2 T2 
ON T1.VoucherDate BETWEEN T2.FromDate AND T2.ToDate 

Обратите внимание, что это будет обновлять FREF с последний матч от T2. Если вы хотите получить первое значение, то:

UPDATE TABLE1 
SET T1.FRef = 
(SELECT TOP 1 FinYearRef FROM TABLE2 
WHERE TABLE1.VoucherDate BETWEEN T2.FromDate AND T2.ToDate) 
Смежные вопросы