Я пытаюсь добавить в таблицу 1 временные данные из таблицы 2. В таблице 1 у меня есть идентификатор, дата. В таблице 2 у меня есть ID, DateFrom, DateTo. Идентификаторы, даты повторяются. t1 например:
+-----+------------+------+-------+-------+
| ID | day | Type | data1 | data2 |
+-----+------------+------+-------+-------+
| 111 | 21.07.2019 | - | … | … |
| 111 | 01.08.2019 | - | … | … |
| 111 | 14.08.2019 | - | … | … |
| 112 | 21.07.2019 | - | … | … |
| … | … | | .. | … |
+-----+------------+------+-------+-------+
t2:
+-----+------------+------------+------+
| ID | date_from | date_to | Type |
+-----+------------+------------+------+
| 111 | 01.07.2019 | 03.08.2019 | AAA |
| 111 | 04.08.2019 | 29.09.2019 | BBB |
| 111 | 30.09.2019 | 01.12.2019 | CCC |
| 111 | … | … | … |
+-----+------------+------------+------+
Что я хочу получить - это заполнить Type
правильными данными из t2:
+-----+------------+------+-------+-------+
| ID | day | Type | data1 | data2 |
+-----+------------+------+-------+-------+
| 111 | 21.07.2019 | AAA | … | … |
| 111 | 01.08.2019 | AAA | … | … |
| 111 | 14.08.2019 | BBB | … | … |
| 112 | 21.07.2019 | BBB | … | … |
| … | … | … | .. | … |
+-----+------------+------+-------+-------+
Что я сделал на данный момент:
SELECT TOP 100
t1.ID
t1.day
t2.type
FROM t1 LEFT OUTER JOIN t2 ON ( (t1.date >= t2.date_from) AND (t1.date <=t2.date_to)
AND (t1.ID = t2.ID) )
Это правильно?