Как добавить в запрос список имен для каждой недели из другой таблицы с именами (повторять в порядке по идентификатору)
Weeknumb
отличается от id
SELECT DATEPART(wk,DATEADD(wk,t2.number,'2019')) as Weeknumb
, DATEADD(wk, DATEDIFF(wk, 4, '01/01/' + '2019')
+ (DATEPART(wk,DATEADD(wk,t2.number,'2019'))-1), 4) AS StartOfWeek
, DATEADD(wk, DATEDIFF(wk, 4, '01/01/' + '2019')
+ (DATEPART(wk,DATEADD(wk,t2.number,'2019'))-1), 11) AS EndOfWeek
FROM master..spt_values t2
WHERE t2.type = 'P'
AND t2.number <= 255
AND YEAR(DATEADD(wk,t2.number,'2019'))=2019
Результат:
| Weeknumb | StartOfWeek | EndOfWeek |
|----------|----------------------|----------------------|
| 1 | 2019-01-04T00:00:00Z | 2019-01-11T00:00:00Z |
| 2 | 2019-01-11T00:00:00Z | 2019-01-18T00:00:00Z |
| 3 | 2019-01-18T00:00:00Z | 2019-01-25T00:00:00Z |
| 4 | 2019-01-25T00:00:00Z | 2019-02-01T00:00:00Z |
| 5 | 2019-02-01T00:00:00Z | 2019-02-08T00:00:00Z |
| 6 | 2019-02-08T00:00:00Z | 2019-02-15T00:00:00Z |
| 7 | 2019-02-15T00:00:00Z | 2019-02-22T00:00:00Z |
| 8 | 2019-02-22T00:00:00Z | 2019-03-01T00:00:00Z |
| 9 | 2019-03-01T00:00:00Z | 2019-03-08T00:00:00Z |
| 10 | 2019-03-08T00:00:00Z | 2019-03-15T00:00:00Z |
| 11 | 2019-03-15T00:00:00Z | 2019-03-22T00:00:00Z |
У меня есть еще одна таблица с именами
| id | name |
|----|------|
| 1 | a |
| 2 | b |
| 3 | c |
Должно быть:
| Weeknumb | StartOfWeek | EndOfWeek | Name
|----------|----------------------|----------------------|-------
| 1 | 2019-01-04T00:00:00Z | 2019-01-11T00:00:00Z | a
| 2 | 2019-01-11T00:00:00Z | 2019-01-18T00:00:00Z | b
| 3 | 2019-01-18T00:00:00Z | 2019-01-25T00:00:00Z | c
| 4 | 2019-01-25T00:00:00Z | 2019-02-01T00:00:00Z | a
| 5 | 2019-02-01T00:00:00Z | 2019-02-08T00:00:00Z | b
| 6 | 2019-02-08T00:00:00Z | 2019-02-15T00:00:00Z | c
| 7 | 2019-02-15T00:00:00Z | 2019-02-22T00:00:00Z | a
| 8 | 2019-02-22T00:00:00Z | 2019-03-01T00:00:00Z | b
| 9 | 2019-03-01T00:00:00Z | 2019-03-08T00:00:00Z | c
| 10 | 2019-03-08T00:00:00Z | 2019-03-15T00:00:00Z | a
| 11 | 2019-03-15T00:00:00Z | 2019-03-22T00:00:00Z | b