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

Откуда:
Сообщений: 2
Доброго дня Всем!
Прошу помочь с объединением таблиц

Есть таблица invoice
id | date
X11 2018-01-01
X12 2018-01-02
X13 2018-01-03
X14 2018-01-04
X15 2018-01-05
X16 2018-01-06
X17 2018-01-07
X18 2018-01-08
X19 2018-01-09
X20 2018-01-10

Таблица rate

ratedate | rate
2018-01-01 65
2018-01-02 66
2018-01-03 67
2018-01-06 68
2018-01-07 69

при левом джойне образуются null там, где дат в рейтинге нет (что и логично...)

X11 2018-01-01 2018-01-01 65
X12 2018-01-02 2018-01-02 66
X13 2018-01-03 2018-01-03 67
X14 2018-01-04 NULL NULL
X15 2018-01-05 NULL NULL
X16 2018-01-06 2018-01-06 68
X17 2018-01-07 2018-01-07 69
X18 2018-01-08 NULL NULL
X19 2018-01-09 NULL NULL
X20 2018-01-10 NULL NULL


А как сджойнить таблицы по датам, таким образом, что-бы в случае отсутствия данных в таблице rate на дату invoice, заполнялся рейтинг по предыдущий дате?? чувствую что Lag нужно использовать? но как это реализовать? накидайте примеров пож-та
4 окт 18, 18:00    [21695602]     Ответить | Цитировать Сообщить модератору
 Re: Выбор предыдущего значения при джойне  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
sargas,

Вы не первый с таким вопросом, поищите по конференции.
4 окт 18, 18:19    [21695629]     Ответить | Цитировать Сообщить модератору
 Re: Выбор предыдущего значения при джойне  [new]
лолл
Member

Откуда:
Сообщений: 450
sargas,

SELECT
  I.id,
  I.date,
  R.rate
FROM invoice I
OUTER APPLY
(
  SELECT TOP(1)
    rate
  FROM rate
  WHERE ratedate <= I.date
  ORDER BY ratedate DESC
) R
4 окт 18, 19:06    [21695698]     Ответить | Цитировать Сообщить модератору
 Re: Выбор предыдущего значения при джойне  [new]
Remind
Member

Откуда: UK
Сообщений: 523
Дозаполнить табличку rate не вариант?
4 окт 18, 20:27    [21695772]     Ответить | Цитировать Сообщить модератору
 Re: Выбор предыдущего значения при джойне  [new]
sargas
Member

Откуда:
Сообщений: 2
Всем спасибо, вопрос решился совершенно другим образом.
На соседнем сервере нашлась табличка с полностью заполненными рейтингами по датам. от туда и взяли значения.
5 окт 18, 06:48    [21695941]     Ответить | Цитировать Сообщить модератору
 Re: Выбор предыдущего значения при джойне  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
sargas
Всем спасибо, вопрос решился совершенно другим образом.
На соседнем сервере нашлась табличка с полностью заполненными рейтингами по датам. от туда и взяли значения.


5 окт 18, 10:47    [21696087]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить