У меня есть две таблицы.Первая таблица выглядит следующим образом:
CompanyID | TIMESTAMP | NewsitemID
---------------------------------------------
ID1 | 2000-01-06 15:00:00 | 1
ID2 | 2000-01-06 15:32:00 | 2
ID1 | 2000-01-07 14:00:00 | 3
ID3 | 2000-01-07 17:00:00 | 4
Теперь я хочу обновить временную метку, если она попадает между двумя последовательными временами закрытия, указанными во второй таблице.Новая временная метка должна быть второй из двух последовательных записей, как указано соответствующей SelectedTimestamp.Это вторая таблица:
Closingtime | SelectedTimestamp
-----------------------------------------
2000-01-05 16:00:00 | --
2000-01-06 16:00:00 | 2000-01-06 16:00:00
2000-01-07 16:00:00 | 2000-01-07 16:00:00
2000-01-10 16:00:00 | 2000-01-10 16:00:00
Итак, чего я хочу достичь:
CompanyID | TIMESTAMP | NewsitemID | NewTimestamp
-------------------------------------------------------------------
ID1 | 2000-01-06 15:00:00 | 1 | 2000-01-06 16:00:00
ID2 | 2000-01-06 15:32:00 | 2 | 2000-01-06 16:00:00
ID1 | 2000-01-07 14:00:00 | 3 | 2000-01-07 16:00:00
ID3 | 2000-01-07 17:00:00 | 4 | 2000-01-10 16:00:00
Но я довольно плохо знаком с Snowflake SQL и у меня проблемы даже с запуском запроса.Я подумал, что мог бы, вероятно, использовать что-то в направлении
SELECT SelectedTimestamp
WHERE TIMESTAMP BETWEEN lower_bound AND upper_bound
, но я понятия не имею, как «перебрать» нижнюю и верхнюю границы, заданные ClosingTime.
Любой намек на то, как я мог бы действовать здесь, был бы очень признателен!