Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 выбрать по датам  [new]
Diminator
Member

Откуда:
Сообщений: 42
Подскажите, пожалуйста, запрос чтобы корректно сформировать таблицу, честно, мозгов совсем не хватает.

Т1:
Id, Ставка, дата_начала
1, 100, 24/10/2013
2, 150, 15/01/2014
3, 100, 02/02/2014

Т2:
Id, дата_работы, описание
1, 27/10/2013, копал
2, 13/01/2014, бастовал за повышение зп
3, 16/01/2014, закапывал
4, 01/02/2014, опять откапывал
3, 16/03/2014, сажал цветы

В итоге надо получить таблицу со списком работ и стоимостью по работе в зависимости от ставки в таблице 1 которая попадает в диапазон дат от начала ставки до ее следующего значения.
Как-то так :)
16 мар 14, 12:53    [15732671]     Ответить | Цитировать Сообщить модератору
 Re: выбрать по датам  [new]
aleks2
Guest
select T2.*, x.Ставка
  from Т2 outer apply (select top(1) Ставка from T1 where T1.дата_начала <= T2.дата_работы order by T1.дата_начала DESC ) x
16 мар 14, 13:08    [15732719]     Ответить | Цитировать Сообщить модератору
 Re: выбрать по датам  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Во второй таблице поле ID правильно проставлено? Последняя строка с ID = 3 заставляет подумать, что это ссылка на ID в первой таблице. Так как должно быть?
17 мар 14, 11:59    [15736981]     Ответить | Цитировать Сообщить модератору
 Re: выбрать по датам  [new]
Diminator
Member

Откуда:
Сообщений: 42
BuKTaP,
Это ошибка, должно быть 5


aleks2,
Спасибо! Идеально.
17 мар 14, 14:17    [15738303]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить